Язык С++ и программирование на нем. Рейзлин В.И. - 81 стр.

UptoLike

Составители: 

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, имя которой обязательно совпа-
дает с именем класса: