Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
class1 - new_2021.doc
Скачиваний:
0
Добавлен:
11.02.2026
Размер:
44.1 Кб
Скачать

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

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

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

class X {…};

class Y {… friend class X; …};

Все приватные и защищенные члены класса Y могут обрабатываться функциями класса X, то есть являются доступными в дружественном классе.

Дружественный класс может быть определен позже, нежели описан как дружественный:

class X1 {… friend class X2 ;…} ;

class X2 {…};

Описание объектов

Конкретные переменные типа «класс» называются экземплярами класса, или объектами.

Время жизни и видимость объектов зависит от вида и места их описания

и подчиняется общим правилам С++:

При создании каждого объекта выделяется память, достаточная для хранения всех его полей.

Методы класса не тиражируются. При выходе объекта из области действия он уничтожается.

Доступ к элементам объекта аналогичен доступу к полям структуры. Для этого используется операция . (точка) при обращении к элементу через имя объекта и операция -> при обращении через указатель, например,

Обратиться так можно только к элементам со спецификаторов public.

Получить или изменить значения элементов со спецификатором private можно только через обращение к соответствующим методам.

Можно создать константный объект, значения полей которого изменять запрещается.

К нему должны применяться только константные методы:

Константный метод:

• объявляется с ключевым словом const после списка параметров;

  • не может изменять значения полей класса;

• может вызывать только константные методы;

• может вызываться для любых (не только константных) объектов.

Рекомендуется описывать как константные те методы, которые предназначены для получения значений полей.

Соседние файлы в предмете Вводный курс программирования