C++ Ключевое слово friend

Ключевое слово friend

Ключевое слово friend предоставляет функции или классу, не являющимся членом данного класса, доступ к закрытым членам этого класса.
Т.е. класс начинает считать, что эта функция или иной класс — «часть него», как следствие эта функция или класс имеют доступ ко всем полям и методам исходного класса.

Дружественные функции
Для создания дружественной функции необходимо включить её прототип в открытый раздел объявления класса вместе с ключевым словом friend.

Например:
class c_A
{
public:
friend void Func(); //прототип функции};
}
void Func(){ //code}; //реализация функции

Дружественные классы
При объявлении класса можно объявить сразу все поля и функции-члены другого класса дружественными одним объявлением.

Например:
class c_A{…}; //прототип или реализация класса c_A
class c_B
{
public:
friend class c_A;
};

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *