КОМПЬЮТЕРНАЯ ЛИТЕРАТУРА

Turbo C++ Version 1.0 Programmer’s Guide

Комментировать

LIB.com.ua [электронная библиотека]: : TURBO C++ Version 1.0 Programmer’s Guide

список-объявления-арг, …
…(только для С++)

список-объявления-арг:
объявление-аргументов
список-объявления-арг объявление-аргументов

объявление-аргументов:
спецификаторы-объявления декларатор
спецификаторы-объявления декларатор = выражение (только
для С++)
спецификаторы-объявления
спецификаторы-объявления =вы-
ражение (только для С++)

определение-функции:
декларатор
тело-функции

тело-функции:
составной оператор

инициализатор:
= выражение
= (список-инициализаторов)
(список-выражений) (только для С++)

список-инициализаторов:
выражение
список-инициализаторов , выражение
(список-инициализаторов)
————————————————————
Внешние объявления и определения

Спецификаторы класса памяти auto и registerво внешнем
объявлении появиться не могут (см. «Единицы трансляции»).
Для каждого идентификатора в единице трансляции, объявленной
с внешним типомкомпоновки, может существовать не более одно-
го внешнего определения.

Внешнее определение — это внешнее объявление, которое
также определяет объект или функцию;таким образом, оно также
распределяет память. Если идентификатор, объявленный с внеш-
ним типомкомпоновки, используется в выражении (не являющемся
частью операции sizeof), то во всей программе должно иметь-
сяв точности одно внешнее определение данного идентификато-
ра.

Turbo C++ позволяет затем переобъявление внешних имен,
таких как массивы, структуры и объединения, добавляя инфор-
мацию к ранее выполненным объявлениям. Например,

int a[] // нет размера
struct mystruct; // только тег, без объявления компонентов

— 38 —
int a[3] = [1, 2, 3]; // задание размера и инициализация
struct mystruct (*
int i, j;
*); // добавление деклараторов компонентов

Объявления классов Turbo C++ (только С++) Таблица 1.12
————————————————————
спецификатор-класса:
заголовок-класса ()

заголовок-класса:
ключ-класса
ключ-класса имя-класса

список-компонентов:
объявление-компонента
спецификатор-доступа :

объявление-компонента:
;
определение-функции
квалифицированное-имя;

список-декларатора-компонентов:
декларатор-компонента
список-декларатора-компонентов, декларатор-компонента

декларатор-компонента:
декларатор
: выражение-типа-константы

pure-спецификатор:
=0

базовый-спецификатор:
:базовый-список

базовый-список:
базовый-спецификатор

базовый-список, базовый-спецификатор

базовый-спецификатор:
имя-класса
virtual имя-класса
спецификатор-доступа Юvirtual> имя-класса

спецификатор-доступа:
private
protected
public

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

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

инициализатор-конструктора:
: список-инициализаторов-памяти

список-инициализаторов-памяти:
инициализатор-памяти
инициализатор-памяти, список-инициализаторов-памяти

инициализатор-памяти:
имя-класса ()
идентификатор ()

— 39 —

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

операция: одно из
new delete sizeof

+ — * /% ^
& \! !=
+= -= *= /=%= ^=
&= \!= >>>= ()
[] .*
————————————————————

Спецификаторы типа

Спецификатор типа с одним или более опциональным моди-
фикатором используется для задания типа объявляемого иденти-
фикатора:

int i; // объявление i как целого со знаком
unsigned char ch1, ch2; // объявление двух символьных
без знака

По устоявшейся традиции, если спецификатор типа опущен,
то по умолчанию назначается тип signed int (или, что эквива-
лентно, int). Однако, в С++ встречаются ситуации, когда от-
сутствие спецификатора типа ведет к синтаксической неодноз-
начности, поэтому в практике работы с С++ используется явный
ввод всех спецификаторов типа int.

Таксономия типа

Существует четыре базовые категории типа: void, scalar,
function и aggregate. Типы scalar и aggregate могут далее
подразделяться следующим образом:

— Scalar: арифметический, перечислимый, указатель и в С
++ ссылки

— Aggregate: массив, структура, объединение и в С++ класс

Типы делятся на фундаментальные и производные. К фунда-
ментальным относятся: void, char, int, float и double сов-
местно с short, long, signed, а также некоторые варианты с
ними unsigned. Производные типы включают в себя указатели и
ссылки на другие типы,массивы других типов, типы функций,
типы классов, структуры и объединения.

С++: Объект класса может, например, содержать некоторое
число объектов различных типов вместе сфункции манипуляции
этими объектами, плюс механизм контроля доступа и наследова-
ния от других классов.

Задав не-пустойтип type (с некоторыми предосторожностя-
ми), можно объявлять производные типы следующим образом:

— 40 —

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *