RINF – Neudefinition einer geerbten nicht-virtuellen Funktion
Nach oben zu C++-Audits
Beschreibung
Diese Regel unterstützt die Vermeidung der Neudefinition einer geerbten nicht-virtuellen Funktion. In den meisten Fällen ist das Überschreiben einer nicht-virtuellen Funktion ein schwerwiegender Fehler und kann ernsthafte Folgen haben. Das Audit sucht nach gefährlichem Code und gibt eine Warnung aus.
Falsch:
class Car {
public:
void fooBar();
};
class Truck : public Car {
public:
void fooBar();
};
Richtig:
class Car {
public:
virtual void fooBar();
};
class Truck : public Car {
public:
void fooBar();
};