ID: 3024 OOP - Zaawansowane Łatwe

Źródło: Arkusze CKE

Które z poniższych zdań najlepiej określa funkcję zaprzyjaźnioną w ramach klasy?

Warianty odpowiedzi

  1. A

    Funkcja, która ma dostęp do prywatnych pól i metod klasy, z którą jest zaprzyjaźniona

  2. B

    Funkcja, która jest statyczna i nie ma możliwości modyfikacji pól klasy

  3. C

    Funkcja, która uruchamia się automatycznie po stworzeniu obiektu

  4. D

    Funkcja, która pozwala na dziedziczenie wielokrotne

Wyjaśnienie

Funkcja zaprzyjaźniona (znana głównie z języka C++) to funkcja zewnętrzna, która otrzymała specjalne pozwolenie na dostęp do prywatnych i chronionych składników klasy.

Mimo że sama nie jest metodą tej klasy i nie należy do jej struktury, w kodzie klasy umieszcza się deklarację z przedrostkiem friend. Daje jej to pełne prawa dostępu do zamkniętych danych.

Stosuje się to rozwiązanie w sytuacjach, gdy dwa odrębne elementy programu muszą ze sobą ściśle współpracować, np. przy przeciążaniu niektórych operatorów.

Sprawdź się w praktyce

Rozwiąż pełny test próbny INF.04 albo wylosuj pojedyncze pytanie na szybką powtórkę.

Podobne pytania — OOP - Zaawansowane