Программирование
на языке Си++
1
Модуль 5.
СТАТИЧЕСКИЕ ЭЛЕМЕНТЫ ДАННЫХ
Статические методы Константные объекты и методы
Правила инициализации и использования
2
Модуль 5. СТАТИЧЕСКИЕ ЭЛЕМЕНТЫ ДАННЫХ
Статические компоненты данных и методы (начало)
Статические компоненты данных в составе классов:
–существуют в единственном экземпляре для всего класса, а не тиражируются для каждого из объектов;
–допускают доступ только после их инициализации, когда им выделяется память;
–могут использоваться до определения объектов «своего» класса (при этом адресоваться посредством квалифицированного имени);
–подчиняются спецификаторам доступа public, private, protected;
–для доступа к собственным и защищенным статическим компонентным данным могут использоваться статические компонентные функции
Определение статического компонента данных
static <имя типа> <идентификатор>;
Инициализация статического компонента данных
<имя типа> <имя класса>::<идентификатор> <инициализирующее выражение>;
3
Модуль 5. СТАТИЧЕСКИЕ ЭЛЕМЕНТЫ ДАННЫХ
Статические компоненты данных и методы (продолжение)
Доступ к общедоступным статическим компонентам данных класса без применения экземпляров
<имя типа>::<идентификатор>
Доступ к общедоступным статическим компонентам данных класса с применением экземпляра
<имя объекта>.<имя типа>::<идентификатор> <имя объекта>.<идентификатор>
Статические компонентные функции (методы) в составе классов
–могут быть вызваны по квалифицированному имени до определения (или без использования) объектов «своего» класса;
Описание статической компонентной функции
static <имя типа> <идентификатор>
([<спецификация формальных параметров>]);
4
Модуль 5. СТАТИЧЕСКИЕ ЭЛЕМЕНТЫ ДАННЫХ
Статические компоненты данных и методы (окончание)
Вызов общедоступных статических функций класса без применения экземпляров
<имя типа>::<идентификатор>([<список фактических параметров>])
Вызов общедоступных статических функций класса с применением экземпляра
<имя объекта>.<имя типа>::<идентификатор> ([<список фактических параметров>])
<имя объекта>.<идентификатор> ([<список фактических параметров>])
5
Модуль 5. СТАТИЧЕСКИЕ ЭЛЕМЕНТЫ ДАННЫХ
Константные объекты и методы
Константные компонентные функции — методы класса,
которые не изменяют объект, на протяжении всего периода исполнения сохраняя его константность
Определение константной компонентной функции класса
<имя типа> <идентификатор>
([<спецификация формальных параметров>]) const { [<тело функции>] }
Описание константной компонентной функции класса
<имя типа> <идентификатор>
([<спецификация формальных параметров>]) const;
Статические константные компоненты данных могут инициализироваться в определении класса
static const <имя типа> <идентификатор> <инициализирующее выражение>;
6
Список литературы
[КР92] Керниган Б., Ритчи Д. Язык программирования Си / Пер. с англ. — М.: Финансы и статистика, 1992. — 272 с.
[КР06] Керниган Б., Ритчи Д. Язык программирования C / Пер. с англ. — М.:
Вильямс, 2006. — 304 с.
[ЛЛ01] Липпман С., Лажойе Ж. Язык программирования C++. Вводный курс.
— СПб.: Невский диалект, 2001. — 1104 с.
[Под03] Подбельский В.В. Язык Си++: Учеб. пособие. — 5-е изд. — М.: Финансы и статистика, 2003. – 560 с., ил.
[Под04] Подбельский В.В., Фомин С.С. Программирование на языке Си. – 2-е доп. изд. – М.: Финансы и статистика, 2004. – 600 с.
[Стр08] Страуструп Б. Язык программирования С++. Специальное издание.
— СПб.: Невский диалект, 2008. — 1104 с.
7