ВУЗ:
Составители:
Рубрика:
83
ций-членов и так называемых дружественных или привилегирован-
ных функций.
К общим же членам класса можно обратиться из любой функции
программы.
Основное отличие struct и class состоит в уровне доступа по
умолчанию. Если нет явного указания уровня доступа, то все члены
структуры считаются общими, а класса – собственными. Явное указание
уровней доступа делает слова struct и class равнозначными. Обычно
использование слова struct вместо class говорит о том, что в ограни-
чении уровня доступа к данным нет необходимости (здесь предполага-
ется, что все члены структуры общие).
Заметим, что типы, созданные программистом с помощью меха-
низма классов, часто называют абстрактными типами данных.
18.2. Конструкторы
В предыдущем примере инициализация объектов типа complex
производилась с помощью функции-члена define ( ). При этом перемен-
ная s2 осталась неинициализированной. В С++ предусмотрены специ-
альные функции-члены класса, которые в большинстве случаев вызы-
ваются не программистом, а компилятором и которые предназначены
для инициализации объектов абстрактных типов. Такие функции назы-
ваются конструкторами. Рассмотрим пример:
class cl {
int num;
public:
void set (int i) { num = i; }
void show ( ) { cout <<“Число: “ << num <<‘\n‘; }
};
Чтобы использовать объект такого типа, его надо объявить, ини-
циализировать, а затем уже использовать:
void f( ){
cl obj; // Объект создан.
obj.set (10); / / Объект инициализирован.
obj.show ( ); //Объект можно использовать.
}
Теперь используем для инициализации конструктор. Это просто
специальная функция – член класса cl, имя которой обязательно совпа-
дает с именем класса:
Страницы
- « первая
- ‹ предыдущая
- …
- 79
- 80
- 81
- 82
- 83
- …
- следующая ›
- последняя »
