Справочное руководство по C++ - страница 65

Шрифт
Интервал

стр.

> { список-инициализаторов , >opt }

R.17.5 Описания класса

>спецификация-класса:

> заголовок-класса { список-членов >opt }

>заголовок-класса:

> служебное-слово-класса идентификатор >opt спец-базовых >opt

> служебное-слово-класса имя-класса спец-базовых >opt

>служебное-слово-класса:

> class

> struct

> union

>список-членов:

> описание-члена список-членов >opt

> спецификация-доступа : список-членов >opt

>описание-члена:

> спецификации-описания >opt список-описателей-членов >opt ;

> определение-функции ; >opt

> уточненное-имя ;

>список-описателей-членов:

> описатель-члена

> список-описателей-членов , описатель-члена

>описатель-члена:

> описатель спецификация-чистой >opt

> идентификатор >opt : выражение-константа

>спецификация-чистой:

> = 0

>список-базовых:

> спецификация-базовых

> список-базовых , спецификация-базовых

>спецификация-базовых:

> полное-имя-класса

> virtual спецификация-доступа >opt полное-имя-класса

> спецификация-доступа virtual >opt полное-имя-класса

>спецификация-доступа:

> private

> protected

> public

>имя-функции-преобразования:

> operator имя-типа-преобразования

>имя-типа-преобразования:

> список-спецификаций-типа операция-ptr >opt

>инициализатор-ctor:

> : список-инициализаторов-членов

>список-инициализаторов-членов:

> инициализатор-члена

> инициализатор-члена , список-инициализаторов-члена

>инициализатор-члена:

> полное-имя-класса ( список-выражений >opt )

> идентификатор

>имя-функции-оператор:

> operator операция

>операция : один из

> new delete

> + - * / % ^& | ~

> ! = ‹ › += -= *= /= %=

> ^= &= |= ‹‹ ›› ››= ‹‹= == !=

> ‹= ›= && || ++ -- , -›* -›

> () []

R.17.6 Операторы

>оператор:

> помеченный-оператор

> оператор-выражение

> составной-оператор

> выбирающий-оператор

> оператор-цикла

> оператор-перехода

> оператор-описания

>помеченный-оператор:

> идентификатор : оператор

> case выражение-константа : оператор

> default : оператор

>оператор-выражение:

> выражение opt;

>составной-оператор:

> { список-операторов >opt }

>список-операторов:

> оператор

> список-операторов оператор

>выбирающий-оператор:

> if ( выражение ) оператор

> if ( выражение ) оператор else оператор

> switch ( выражение ) оператор

>оператор-цикла:

> while ( выражение ) оператор

> do оператор while ( выражение )

> for ( оператор-иниц выражение >opt ; выражение >opt ) оператор

>оператор-иниц:

> оператор-выражение

> оператор-описание

>оператор-перехода:

> break ;

> continue ;

> return выражение >opt ;

> goto идентификатор ;

>оператор-описания:

> описание

R.17.7 Препроцессор

>#define идентификатор строка-лексем

>#define идентификатор ( идентификатор , … , идентификатор )  строка-лексем

>#include "имяфайла"

>#include ‹имяфайла›

>#line константа "имяфайла" >opt

>#undef идентификатор

>условное:

> часть-if части-elif >opt часть-else >opt строка-endif

>часть-if:

> строка-if текст

>строка-if:

> # if выражение-константа

> # ifdef идентификатор

> # ifndef идентификатор

>части-elif:

> строка-elif текст

> части-elif строка-elif текст

>строка-elif:

> # elif выражение-константа

>часть-else:

> строка-else текст

>строка-else:

> # else

>строка-endif:

> # endif

R.17.8 Шаблоны типа

>описание-шаблона-типа:

> template ‹ список-параметров-шаблона-типа › описание

>список-параметров-шаблона-типа:

> параметр-шаблона-типа

> список-параметров-шаблона-типа , параметр-шаблона-типа

>параметр-шаблона-типа:

> параметр-типа

> описание-параметра

>параметр-типа:

> class идентификатор

>имя-шаблонного-класса:

> имя-шаблона-типа ‹ список-парам-шаблона-типа ›

>список-парам-шаблона-типа:

> парам-шаблона-типа

> список-парам-шаблона-типа , парам-шаблона-типа

>парам-шаблона:

> выражение

> имя-типа

R.17.9 Обработка особых ситуаций

>проверяемый-блок:

> try составной-оператор список-обработчиков

>список-обработчиков:

> обработчик список-обработчиков >opt

>обработчик:

> catch ( описание-особой-ситуации ) составной-оператор

>описание-особой-ситуации:

> список-спецификаций-типа описатель

> список-спецификаций-типа абстрактный-описатель

> список-спецификаций-типа

> …

>выражение-запуска:

> throw выражение >opt

>спецификация-особой-ситуации:

> throw ( список-типа >opt )

>список-типа:

> имя-типа

> список-типа , имя-типа

R.18 Приложение B: Совместимость

Это приложение не относится к справочному руководству C++ и не является определением конструкций языка.

Язык C++ основывается на С (описание в книге Кернигана и Ритчи, 78 г., дальше K&R) и включает большинство изменений, предложенных в ANSI стандарте для С. При конвертировании программ на языках С++, K&R C и ANSI C могут возникнуть трудности в связи с различным вычислением в них выражений. Транслятор должен распознавать все различия между C++ и ANSI C. Программы на C++ и ANSI C должны иметь одинаковый смысл за исключением трех следующих случаев:


стр.

Похожие книги