C++.Бархатный путь


Класс. Объявление класса


Класс - это тип. Этот производный тип вводится в программу с помощью специального оператора объявления класса. В объявлении класса используется ранее описанный инструментальный набор средств для построения и преобразования производных типов.

Очередное множество форм Бэкуса-Наура определяет синтаксис объявления класса.

Объявление ::= [СписокСпецификаторовОбъявления] [СписокОписателей];

СписокСпецификаторовОбъявления

::= [СписокСпецификаторовОбъявления] СпецификаторОбъявления

СпецификаторОбъявления ::= СпецификаторТипа

::= *****

СпецификаторТипа ::= СпецификаторКласса

::= УточнённыйСпецификаторТипа

::= *****

УточнённыйСпецификаторТипа ::= КлючевоеСловоКласса ИмяКласса

::= КлючевоеСловоКласса Идентификатор ::= enum ИмяПеречисления

КлючевоеСловоКласса ::= union ::= struct ::= class

ИмяКласса ::= Идентификатор

СпецификаторКласса ::= ЗаголовокКласса {[СписокЧленов]}

ЗаголовокКласса

::= КлючевоеСловоКласса [Идентификатор] [СпецификацияБазы] ::= КлючевоеСловоКласса ИмяКласса [СпецификацияБазы]

КлючевоеСловоКласса ::= union ::= struct ::= class

ИмяКласса ::= Идентификатор

Спецификатор класса представляет то, что называется объявлением класса. Уточнённый спецификатор типа объявляет расположенный за ним идентификатор именем класса. Уточнённый спецификатор обеспечивает неполное предварительное объявление класса и перечисления.

Назначение и смысл необязательного нетерминального символа СпецификацияБазы будут обсуждаться позже, в разделах, посвящённых наследованию.

Предварительное объявление обеспечивается уточнённым спецификатором типа и является своеобразным прототипом класса или перечисления. Его назначение - сообщение транслятору предварительной информации о том, что существует (должно существовать) объявление класса (или перечисления) с таким именем. Идентификатор, используемый в контексте уточнённого спецификатора имени становится именем класса (или именем перечисления).

Класс считается объявленным даже тогда, когда в нём полностью отсутствует информация о членах класса (пустой список членов класса). Неименованный класс с пустым множеством членов - уже класс!

Имя класса можно употреблять как имя (имя типа) уже в списке членов этого самого класса.

Класс может быть безымянным.

Следующая последовательность операторов объявления




- Начало -  - Назад -  - Вперед -