Override
spartanPAGE
Słowo kluczowe override służy do "oficjalnego" przykrywania metod wirtualnych rodzica.
Jego użycie nie jest wymagane, jednakże pozwala ono na wykrycie niektórych błędów w czasie kompilacji - gdy spróbujemy przykryć metodę niewirtualną kompilator
odpowiednio nas o tym poinformuje.
Dla poniższego przykładu otrzymujemy taki komunikat:
6:7: error: ‘void Bar::fizz()’ marked override, but does not override: void fizz() override{}
Oznacza to mniej więcej tyle, że nasza metoda oznaczona jako przykrywaja wcale nie przykrywa.
struct Foo{
void fizz(){}
};
struct Bar : Foo{
void fizz() override{}
};
int main(){}