Źródło: Arkusze CKE
Jakie jest podstawowe zadanie funkcji zaprzyjaźnionej w danej klasie?
Warianty odpowiedzi
-
A
Generowanie kopii pól obiektu w innej klasie
-
B
Dodawanie nowych instancji do klasy
-
C
Ograniczenie widoczności atrybutów klasy
-
D
Umożliwienie funkcji dostępu do prywatnych atrybutów klasy
Wyjaśnienie
W programowaniu obiektowym obowiązuje zasada hermetyzacji, czyli ukrywania prywatnych danych klasy przed światem zewnętrznym.
Funkcja zaprzyjaźniona to specjalny wyjątek od tej reguły. Choć sama nie należy do klasy, otrzymuje od niej pełne zaufanie i specjalne uprawnienia.
Jej głównym zadaniem jest właśnie umożliwienie swobodnego dostępu do prywatnych oraz chronionych pól i metod klasy bez konieczności pisania dodatkowych getterów.