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

0 komentarzy