Читайте также: |
|
Определен со спецификатором static (выделяется память при их определении и сохраняется до окончания действия программы)
Статический элемент класса не дублируется при создании новых объектов класса.
Каждый статический элемент существует в единственном экземпляре и память на него выделяется при его инициализации.
Инициализация статического компонента размещается в глобальной области сразу после определения класса
<тип > <имя класса>:: <имя компонента> <инициализатор>
Обращение к статическому компоненту:
Обращение к статическому компоненту класса возможно до определения первого объекта класса
<Имя класса>:: <имя компонента>
После объявления объектов можно также обращаться как к обычному компоненту класса
<имя объекта>. <имя класса>::<имя компонента>
<имя объекта>. <имя компонента>
При этом любые изменения (в любом объекте) статического элемента – общие для всех объектов данного класса
Пример
#include <iostream.h>
struct goods // класс “ товар”
{ char name[40]; // наименование товара
float price; // закупочная цена
static int percent; // торговая наценка
// компонентные функции:
void vvod () // ввод данных о товаре
{ cin >> name;
cin>> price; }
void vivod () // вывод данных о товаре
{ cout <<”\n” << name;
cout <<”: Розничная цена =”<< price*(1.0+ goods::percent*0.01);}
};
int goods::percent =25; // инициализация статического компонента
// статический элемент получает память
// и становится доступным даже без объявления
// объектов
Дата добавления: 2015-07-20; просмотров: 48 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Инициализация | | | Доступ к членам класса |