Class А

{

public:

static int count; // Оголошення у класі

};

 

int A::count; // Визначення у глобальній області

// За умовчанням ініціалізується нулем

 

//Приклад ініціалізації довільним значенням

// int A::count = 10;

 

2. Статичні поля доступні як через ім'я класу, так і через ім'я об'єкту:

 

А *а, b;

cout << A::count << a->count << b.count;

// Буде виведено одне й теж

 

3. На статичні поля розповсюджується дія специфікаторів доступу, тому статичні поля, описані як private, не можна змінити за допомогою операції доступу до зони дії, як описано вище. Це можна зробити тільки за допомогою статичних методів(див. далі).

4. Пам'ять, яку займає статичне поле, не враховується при визначенні розміру об'єкту за допомогою операції sizeof.

 

2.3.2 Статичні методи

Статичні методи призначені для звернення до статичних полів класу. Вони можуть звертатися безпосередньо тільки до статичних полів і викликати тільки інші статичні методи класу, тому що їм не передається прихована вказівка this. Звернення до статичних методів проводиться так само, як до статичних полів – або через ім'я класу, або, коли хоча б один об'єкт класу вже створений, через ім'я об'єкту.

 

Class А

{

static int count; // Поле count – приховане

public:

static void inc_count(){ count++: }

};

 

A::int count; // Визначення в глобальній області








Дата добавления: 2014-12-26; просмотров: 634;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.