Составители:
Рубрика:
Скобки < и > обозначают необязательные элементы. Имя класса - определяет уни-
кальный идентификатор внутри данного блока. Базовый список определяет классы, из
которых данный класс наследует элементы и методы. В базовом списке также могут оп-
ределяться спецификаторы доступа к наследуемым элементам. При описании класса
создается уникальный тип, идентифицируемый именем класса. Спецификаторы доступа
private, protected и public управляют видимостью элементов класса. Элементы, описан-
ные после служебного слова private, видимы только внутри класса. Этот вид доступа
принят в классе по умолчанию. Protected практически аналогичен private, но по-другому
реализуется при наследовании, элемнты, объявленные как public открыты извне класса.
Действие любого спецификатора распространяется до следующего спецификатора или
до конца класса. Можно задавать несколько секций private и public, порядок их следова-
ния значения не имеет.
Элементы типа "класс" могут использоваться как аргументы функций и как воз-
вращаемые функциями значения. C++ позволяет переопределять (overloading) стандарт-
ные функции и операции, когда они используются с элементами определенного класса.
C++ поддерживает механизмы, при которых функция или оператор с одним и тем же
именем может вызываться в разных задачах в зависимости от типа и числа аргументов.
Список членов класса есть последовательность элементов любых типов, вклю-
чая перечисления, битовые поля и другие классы, а также определения функций. Для
элементов могут задаваться классы памяти и спецификации доступа. Классы памяти
auto, extern и register не доступны. Члены класса могут быть определены со специфи-
кацией static.
Конкретные переменные типа "класс" называются
объектами. Время жизни и ви-
димость объектов зависит от вида и места их описания и подчиняется общим правилам
C++, например:
class Х {...};
…
Х х; // элемент класса Х с параметрами по умолчанию
X rt(200, 300); // Объект с явной инициализацией
X mas[100]; // Массив объектов с параметрами по умолчанию
Х &xr; // ссылка на объект класса Х
Х *xptr; // указатель на объект класса Х
При создании каждого объекта выделяется память, достаточная для хранения
всех его полей, и автоматически вызывается конструктор, выполняющий их инициа-
лизацию. Методы класса не тиражируются. При выходе объекта из области действия
он уничтожается, при этом автоматически вызывается деструктор (деструкторы бу-
дут описаны далее).
Функции типа inline. Если тело метода определено внутри класса, он является
встроенным (inline). Как правило, встроенными делают короткие методы. Если внутри
класса записано только объявление (заголовок) метода, сам метод должен быть опреде-
лен в другом месте программы с помощью операции доступа к области видимости (
::).
В общем случае, описание метода представляется в следующей форме:
возвр_тип имя_класса::имя_метода(параметры)
{
тело метода
}
82
Скобки < и > обозначают необязательные элементы. Имя класса - определяет уни-
кальный идентификатор внутри данного блока. Базовый список определяет классы, из
которых данный класс наследует элементы и методы. В базовом списке также могут оп-
ределяться спецификаторы доступа к наследуемым элементам. При описании класса
создается уникальный тип, идентифицируемый именем класса. Спецификаторы доступа
private, protected и public управляют видимостью элементов класса. Элементы, описан-
ные после служебного слова private, видимы только внутри класса. Этот вид доступа
принят в классе по умолчанию. Protected практически аналогичен private, но по-другому
реализуется при наследовании, элемнты, объявленные как public открыты извне класса.
Действие любого спецификатора распространяется до следующего спецификатора или
до конца класса. Можно задавать несколько секций private и public, порядок их следова-
ния значения не имеет.
Элементы типа "класс" могут использоваться как аргументы функций и как воз-
вращаемые функциями значения. C++ позволяет переопределять (overloading) стандарт-
ные функции и операции, когда они используются с элементами определенного класса.
C++ поддерживает механизмы, при которых функция или оператор с одним и тем же
именем может вызываться в разных задачах в зависимости от типа и числа аргументов.
Список членов класса есть последовательность элементов любых типов, вклю-
чая перечисления, битовые поля и другие классы, а также определения функций. Для
элементов могут задаваться классы памяти и спецификации доступа. Классы памяти
auto, extern и register не доступны. Члены класса могут быть определены со специфи-
кацией static.
Конкретные переменные типа "класс" называются объектами. Время жизни и ви-
димость объектов зависит от вида и места их описания и подчиняется общим правилам
C++, например:
class Х {...};
…
Х х; // элемент класса Х с параметрами по умолчанию
X rt(200, 300); // Объект с явной инициализацией
X mas[100]; // Массив объектов с параметрами по умолчанию
Х &xr; // ссылка на объект класса Х
Х *xptr; // указатель на объект класса Х
При создании каждого объекта выделяется память, достаточная для хранения
всех его полей, и автоматически вызывается конструктор, выполняющий их инициа-
лизацию. Методы класса не тиражируются. При выходе объекта из области действия
он уничтожается, при этом автоматически вызывается деструктор (деструкторы бу-
дут описаны далее).
Функции типа inline. Если тело метода определено внутри класса, он является
встроенным (inline). Как правило, встроенными делают короткие методы. Если внутри
класса записано только объявление (заголовок) метода, сам метод должен быть опреде-
лен в другом месте программы с помощью операции доступа к области видимости (::).
В общем случае, описание метода представляется в следующей форме:
возвр_тип имя_класса::имя_метода(параметры)
{
тело метода
}
82
Страницы
- « первая
- ‹ предыдущая
- …
- 80
- 81
- 82
- 83
- 84
- …
- следующая ›
- последняя »
