Metoda wirtualna: Różnice pomiędzy wersjami

[wersja nieprzejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
Anulowanie wersji nr 12537374 autora 82.177.55.162 Było dobrze: nie powinien, ale może.
Linia 77:
Określa to, że metoda z klasy bazowej deklarująca '''metodę wirtualną''' nigdy nie powinna się wykonać. W efekcie klasa taka staje się [[klasa abstrakcyjna|klasą abstrakcyjną]]. Oznacza to tyle, iż nie jest możliwe stworzenie obiektu tej klasy. Klasa taka służy jedynie temu, by zdefiniować pewnego rodzaju interfejs i jest przeznaczona jedynie po to, by od niej dziedziczyć.
 
W przykładzie wyżej, o ile mogą istnieć figury będące kwadratami, kołami itp. to raczej nie powinien istnieć żaden obiekt klasy <code>Figura</code>. <code>Figura</code> jest tutaj pewnym abstrakcyjnym określeniem, natomiast dziedziczenie po tej klasie i rozszerzeniu jej o inne elementy (dane i metody) powoduje, że mamy do czynienia już z konkretną figurą geometryczną. Metodę czysto wirtualną w języku C++ deklaruje się tak:
 
<source lang="cpp">