Compiler-Warnungen werden häufig nicht beachtet (``Wenn es was Ernstes wäre, wäre es eine Fehlermeldung'').
Gerade in C++ sollte man jedoch Warnungen nicht mißachten:
class base
{ public:
virtual void f() const;
};
class deriv : public base
{ public:
virtual void f();
};
Compiler:
warning: deriv::f() hides virtual base::f()
Durch das fehlende const wird nicht f der Basisklasse redefiniert, sondern ein eigenes f definiert, wodurch base::f versteckt wird.