Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Opracował: Piotr DejaVu Szawdyński
Język C++

override

[modyfikator] Deklaracja metody występująca w klasie pochodnej musi występować w klasie bazowej jako metoda wirtualna.

Składnia

C/C++
class CKlasaBazowa
{
public:
    virtual void metoda() { }
};

class CKlasaPochodna
    : public CKlasaBazowa
{
public:
    virtual void metoda() override { }
};

Opis szczegółowy

Deklaracja metody występująca w klasie pochodnej musi posiadać swój odpowiednik deklaracji wirtualnej w klasie bazowej. Zastosowanie słowa override uniemożliwia skompilowanie kodu, w którym metoda klasy pochodnej nie będzie posiadała analogicznej metody wirtualnej w klasie bazowej.
Zastosowanie słowa override znacząco poprawia wykrywanie błędów spowodowanych zmianą interfejsu klasy bazowej (np. poprzez zmianę nazw metod mającej na celu poprawę czytelności kodu).
Słowo override nie jest słowem kluczowym i może być użyte jako identyfikator dla, przykładowo, zmiennej. Specjalne znaczenie ma wyłącznie w powyższym przypadku. Zostało wprowadzone przez standard C++11.

Linki zewnętrzne