Инструменты пользователя

Инструменты сайта


дружественные_функции

Назад

Дружественные функции

Дружественные функции– это функции, объявленные вне класса, но имеющие доступ к закрытым и защищенным полям данного класса.

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

Правило использования:

  • Если нет важных доводов использовать дружественные функции – используйте вместо них члены класса.
  • Если важные доводы есть – подумайте, а действительно ли они так важны.
class Foo
{
void friend Bar(Foo & foo);
private:
	int data;
};
//Дружественная функция
void Bar(Foo & foo)
{
	foo.data = 1;
}