Widziałem kod w klasie pochodnej, ostatnio w którym programista umieścił virtual
przed nadpisaniem funkcji. Czy to powszechne? Myślałem, że to było bardzo dziwne i trochę mnie zaskoczyło.Używanie 'virtual' w klasie pochodnej
Edycja: Nie pytam, co robi wirtualne, pytam, dlaczego ktoś umieściłby wirtualny w klasie pochodnej, która już przesłoniła funkcje wirtualne w swojej klasie bazowej.
EX:
class B {
public:
virtual void foo();
....
};
class D : public B {
public:
virtual void foo(); // could have just put void foo();
...
};
Ja też zawsze to robię, żeby udokumentować mój kod. –
To jest coś, w czym myślę, że C# jest lepszy, zmuszając klasy pochodne do użycia słowa kluczowego 'override'. – dalle
To jest idealne pytanie, na które odpowiedziałem na wiele moich pytań dotyczących działania wirtualnego. Dzięki @Person –