Przejdź do treści głównej
INF.04Pytanie #150 z 856klasy-obiekty-i-metody

W językach C++ lub C# słowo kluczowe virtual można stosować do

Opcje odpowiedzi:
A
pól klasy
B
konstruktorów
C
metod klasy
Prawidłowa
D
funkcji zaprzyjaźnionych
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź: C

Uzasadnienie i szersze wyjaśnienie:

Słowo kluczowe virtual jest fundamentalnym elementem mechanizmu polimorfizmu w programowaniu obiektowym, szczególnie w językach C++ i C#. Jego głównym zadaniem jest umożliwienie nadpisywania (ang. overriding) metod klasy bazowej w klasach pochodnych. Gdy metoda w klasie bazowej jest oznaczona jako virtual, oznacza to, że wywołanie tej metody na rzecz obiektu będzie dynamicznie wiązane w czasie wykonania programu (tzw. late binding). System sam zdecyduje, którą wersję metody (z klasy bazowej czy z którejś z klas pochodnych) należy uruchomić, w zależności od rzeczywistego typu obiektu.

Dlaczego pozostałe odpowiedzi są nieprawidłowe?

  • A. pól klasy: Pola (zmienne członkowskie) przechowują stan obiektu i nie mogą być wirtualne. Polimorfizm dotyczy zachowania (metod), a nie stanu (pól).
  • B. konstruktorów: Konstruktory nie mogą być wirtualne, ponieważ są one wywoływane w momencie tworzenia obiektu o konkretnym, znanym typie. Mechanizm wirtualny ma sens dopiero wtedy, gdy obiekt już istnieje.
  • D. funkcji zaprzyjaźnionych: Funkcje zaprzyjaźnione nie są składowymi klasy, więc nie uczestniczą w mechanizmie dziedziczenia i polimorfizmu w ten sam sposób co metody. Nie mogą być wirtualne.

Chcesz poćwiczyć całą kwalifikację INF.04?

Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.

Rozwiąż w Quizie

Pojęcia z tego pytania

Cały słownik INF04
Reklama

Podobne pytania z działu „Klasy obiekty i metody”

Ten sam obszar materiału z kwalifikacji INF.04. W całej bazie znajdziesz 38 pytań z tego działu.