Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Если все компонентные функции одного класса являются дружественными для другого класса, то класс является дружественным другому классу
Объявление дружественного класса:
Class X { …};
Class Y { … friend class X; … };
Все приватные и защищенные члены класса Y могут обрабатываться функциями класса X, то есть доступны в дружественном классе.
Дружественный класс может быть определен позже, нежели описан как дружественный:
Class X1 { … friend class X2;…};
Class X2 { …void f (…);… };
Конструкторы и деструкторы
Класс может содержать любое количество функций - членов самого разнообразного назначения, но два типа функций занимают особое положение. Эти функции называются конструктором и деструктором.
Для многих объектов естественно требовать, чтобы они были инициированы (т.е. имели начальное значение, а не мусор) до начала их использования.
В С++ для упрощения процесса инициализации объектов предусмотрена специальная функция, называемая конструктором.
Конструктор – это компонентная функция, вызываемая автоматически при создании объекта класса и выполняющая необходимые инициализирующие действия.
1) Основное назначение – инициализация объектов.
- инициализация данных класса - задание им начальных
значений программно или по умолчанию,
- открытие файлов,
- перевод видеосистемы в графический режим
- вывод сообщения,
- инициализация объектов вспомогательных классов и. т. д.
2) Имя конструктора должно совпадать с именем класса.
3) Функция-конструктор не может возвращать результат, даже тип void не
допустим.
4) Функция автоматически вызывается при определении объекта, или при размещении в памяти объекта с помощью операции new.
5) Формат определения конструктора в теле класса:
< имя класса> (список формальных параметров)
{ операторы тела конструктора }
Конструктор, как и любая компонентная функция, может быть определен и вне тела класса, имея в теле класса прототип.
class T {
…
public:
Дата публикования: 2014-11-28; Прочитано: 331 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!