Programowanie w języku C/C++

Override

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(){}