Strona główna › Pytania INF.04 › Pytanie 456
INF.04 · pytanie #456
Które z poniższych zdań najlepiej określa funkcję zaprzyjaźnioną w ramach klasy?
- AFunkcja, która ma dostęp do prywatnych pól i metod klasy, z którą jest zaprzyjaźniona
- BFunkcja, która pozwala na dziedziczenie wielokrotne
- CFunkcja, która uruchamia się automatycznie po stworzeniu obiektu
- DFunkcja, która jest statyczna i nie ma możliwości modyfikacji pól klasy
Poprawna odpowiedź: A. Funkcja, która ma dostęp do prywatnych pól i metod klasy, z którą jest zaprzyjaźniona
Kliknij odpowiedź, którą uważasz za poprawną.
Wyjaśnienie
Funkcja zaprzyjaźniona (ang. friend function) to funkcja, która ma dostęp do prywatnych i chronionych pól oraz metod klasy, mimo że nie jest jej częścią. Służy do realizacji operacji wymagających bezpośredniego dostępu do wewnętrznych elementów klasy, ale bez naruszania zasad hermetyzacji. Przykład w C++: `class Konto { private: double saldo; friend void wyswietlSaldo(Konto k); }`. Funkcja `wyswietlSaldo` może odczytać pole `saldo`, mimo że jest ono prywatne. Funkcje zaprzyjaźnione są używane, gdy konieczna jest bliska współpraca między klasami lub funkcjami, ale nie chcemy nadmiernie otwierać interfejsu klasy.
🤖 Wyjaśnienie generowane przez AI – weryfikuj w oficjalnych źródłach.