Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы - Программирование (2я часть).docx
Скачиваний:
6
Добавлен:
26.09.2019
Размер:
36.37 Кб
Скачать

Понятие дружественности.

Иногда бывает необходимости дать доступ другим классам к определенным приватным методам или полям, чтобы дать другому классу (которому мы доверяем) чуть больше власти. Они объявляются внутри класса со спецификатором friend и должны иметь в качестве параметра объект или ссылку на объект. Можно сделать другом отдельно поле, метод или целиком класс. Пример:

class SomeClass { … } // Описываем класс сначала до дружественного что он был виден в нем.

class FriendClass

{

public:

void func(SomeClass & ft); // Некий метод в дружественном классе.

};

class SomeClass

{

friend void FriendClass::func(SomeClass &);

// Описываем приватный метод который будет дружественен другому классу.

}