RINF – Neudefinition einer geerbten nicht-virtuellen Funktion

Aus RAD Studio
Wechseln zu: Navigation, Suche

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

Siehe auch