Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Такой элемент должен быть определен в классе как статический.

Конструкторы и деструкторы | Конструктора); | Деструктор- это функция, которая автоматически выполняется, когда экземпляр класса уничтожается. | Имя объекта. имя компонента | Параметров) | Друзья классов | StrokaZ; |


Читайте также:
  1. A) Законы безусловно-определенные, исключающие всякий произвол судьи;
  2. A) определение b) обстоятельство c) часть глагола-сказуемого
  3. D-ЭЛЕМЕНТЫ I ГРУППЫ
  4. D-ЭЛЕМЕНТЫ II ГРУППЫ
  5. D-ЭЛЕМЕНТЫ VI ГРУППЫ
  6. D-ЭЛЕМЕНТЫ VII ГРУППЫ
  7. D-ЭЛЕМЕНТЫ VIII ГРУПЫ

 

Определен со спецификатором 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 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Инициализация| Доступ к членам класса

mybiblioteka.su - 2015-2024 год. (0.006 сек.)