69732

Статичні елементи класу

Домашняя работа

Информатика, кибернетика и программирование

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

Украинкский

2014-10-09

25.5 KB

1 чел.

Самостійне вивчення

Тема 9: Статичні елементи класу

За допомогою ідентифікатора static можна описати статичні поля та методи класу. Їх можна розглядати як глобальні змінні або функції, які доступні тільки в межах області класу.

Статичні поля

Статичні поля застосовуються для зберігання даних, загальних для всіх об'єктів класу, наприклад, кількості об'єктів або посилання на розділяємий всіма об'єктами ресурс. Ці поля існують для всіх об'єктів класу в єдиному екземплярі, тобто не дублюються. Нижче перераховані особливості статичних полів.

  Пам'ять під статичне поле виділяється один раз при його ініціалізації незалежно від числа створених об'єктів (і навіть при їх відсутності) і ініціалізується за допомогою операції доступу до області дії, а не операції вибору (визначення повинне бути записано поза функціями):

class A{

public:

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

}:

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

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

// int А::count = 10;     Приклад ініціалізації довільним значенням    

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

А *а, b;

...

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

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

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

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

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

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

class A

{

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

public:

static void inc_count()

{

count++;

}

};

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

void f()

{

А а;

// a.count++ - не можна, поле count приховане

// Зміна поля за допомогою статичного методу: a.inc_count();

// або А::inc_count();

}

Статичні методи не можуть бути константними (const) і віртуальними (virtual).


 

А также другие работы, которые могут Вас заинтересовать

63795. Статика населения, динамика населения 28.5 KB
  Статика - это сведения об общей численности населения и его составе: возрастно-половом этническом профессиональном плотности места жительства и др. Возрастно-половой состав имеет значение для характеристики состояния здоровья и воспроизводства населения.
63796. Рождаемость 23 KB
  Рождаемость - это число родившихся живыми на 1000 населения. Выдают свидетельство о рождении регистрируют рождаемость. Показатель рождаемости = Число родившихся живыми среднегодовая численность населения х 1000 На рождаемость влияет половая и возрастная структура населения.
63797. Смертность как медико–социальная проблема 34 KB
  Изучается по свидетельствам о смерти. В 3 х дневный срок со дня смерти регистрация умерших в загсе или поселковом совете. Регистрация проводится на основании медицинских свидетельств о смерти в загсе...
63798. Характеристика детской смертности 28 KB
  Показатель младенческой С = Число детей умерших до года Число родившихся 1000; Показатель мл. С по Ратсу для сельского населения = Число детей умерших за год 012 мес. С по Вахитову Альбицкому для города = Число умерших в возрасте до года 1000 4 5 от данного года 1 5 от предыдущего года...
63800. Заболеваемость и методы её изучения 28.5 KB
  Населения характеризует распространение заболеваний среди всего населения или отдельных его групп в расчете на 1000 или 10000 человек. имеют важнейшее значение для научной организации системы медико-санитарного обслуживания населения...
63801. Характеристика уровней и структур причин заболеваемости 27 KB
  В структуре причин с возрастом все большую роль играют несчастные случаи и инфекционные заболевания. У женщин до 20 лет болезни связанные с беременностью с возрастом больше проявляются хронические заболевания. После 60 лет выявляются на 1 больного 25 3 заболевания...
63802. Заболеваемость с временной утратой трудоспособности 26 KB
  Единицей наблюдения при изучении заболеваемости с ВУТ является каждый случай временной нетрудоспособности в связи с заболеванием или травмой в данном году. Учетным документом служит листок нетрудоспособности который является не только медицинским...
63803. Инвалидность и инвалидизация населения 24.5 KB
  В России средний уровень инвалидности колеблется от 40 до 49 на 10000 жителей. 3 группы инвалидности: 1 группа полная утрата способности к регулярному профессиональному труду в обычных условиях и нуждающихся в постоянном уходе.