Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/studb20/public_html/index.php on line 4
 2.5.8 Статичні члени класу - Програмування С, С++теорія та практика (частина 2) - Studbook

Програмування С, С++теорія та практика (частина 2)

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

Члени класу, оголошені з модифікатором класу пам'яті зіаііс, носять назву статичних членів класу. Вони є загальними для усіх об'єктів даного класу: змінивши значення статичного члену класу в одному об'єкті, ми отримаємо змінене значення в усіх інших об'єктах. Оголошення статичних членів-даних класу в середині оголошення класу не буде одночасно описом змінних, оскільки при цьому під ці дані пам'ять не виділятиметься. Це слід робити в програмі окремо. Таким чином, усі об'єкти класу посилатимуться на одне й те ж саме місце у пам'яті.

Функції-елементи класу також можуть бути оголошені статичними, але оскільки вони не отримують прихований покажчик Ікіа, вони не можуть звертатися до нестатичних членів класу. Крім того, статична функція не може бути віртуальною. Звертання до статичних функцій та елементів можливе навіть тоді, коли ще не створено жодного об'єкту класу, в якому використовуються статичні дані. Якщо функція /ипє() є статичною функцією класу А, її можна викликати таким чином:

А::їипс();

Звертання до статичних функцій з боку об'єктів класів є повністю аналогічним звичайним функціональним викликам елементів-функцій. Щодо найпростішого застосування, статичні члени можна використовувати для підрахунку кількості створених або існуючих в даний момент об'єктів класу.

 

28