Pytanie 48

Friend in C#

A friend function of a class is defined outside that class’ scope but it has the right to access all private and protected members of the class. Even though the prototypes for friend functions appear in the class definition, friends are not member functions.

A friend can be a function, function template, or member function, or a class or class template, in which case the entire class and all of its members are friends.

Które zdanie jest zgodne z informacjami o funkcjach zaprzyjaźnionych przedstawionymi we fragmencie dokumentacji?

Odpowiedzi:

  • Funkcja zaprzyjaźniona nie ma dostępu do elementów protected klasy.
  • Tylko funkcje mogą być zaprzyjaźnione.
  • Gdy prototypy funkcji zaprzyjaźnionych znajdują się w definicji klasy, funkcje te są jej metodami.
  • Funkcja zaprzyjaźniona, mimo że jest zdefiniowana na zewnątrz klasy ma dostęp do jej prywatnych elementów.