Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Дружественные классы



Если все компонентные функции одного класса являются дружественными для другого класса, то класс является дружественным другому классу

Объявление дружественного класса:

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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...