Strona główna › Pytania INF.04 › Pytanie 398
INF.04 · pytanie #398
Jakiego typu funkcja jest tworzona poza klasą, ale ma dostęp do jej prywatnych i chronionych elementów?
- ADestruktor
- BKonstruktor
- CFunkcja zaprzyjaźniona
- DMetoda statyczna
Poprawna odpowiedź: C. Funkcja zaprzyjaźniona
Kliknij odpowiedź, którą uważasz za poprawną.
Wyjaśnienie
Funkcja zaprzyjaźniona to specjalny typ funkcji, który jest deklarowany jako 'friend' w ciele klasy, co pozwala jej na dostęp do prywatnych i chronionych składowych tej klasy. Chociaż funkcja zaprzyjaźniona jest definiowana poza klasą, może operować na jej wewnętrznych danych, co czyni ją bardzo użytecznym narzędziem w programowaniu obiektowym. Tego rodzaju funkcje są często wykorzystywane w przypadkach, gdy konieczne jest współdziałanie dwóch klas lub funkcji narzędziowych, które muszą manipulować danymi wewnętrznymi klasy, ale nie powinny być jej metodami członkowskimi. Dzięki funkcjom zaprzyjaźnionym można zapewnić elastyczność w dostępie do danych przy jednoczesnym zachowaniu hermetyzacji klasy. Przykładem może być przeciążenie operatorów, np. operator +, który musi mieć dostęp do prywatnych składowych obu operandów.
🤖 Wyjaśnienie generowane przez AI – weryfikuj w oficjalnych źródłach.