The use of the override is designed to provide a check on the use of a base class.
struct B {
virtual void f1(int) const;
virtual void f2();
void f3();
};
struct D : B {
void f1(int) const override;
void f2() override;
void f3() override;
f4() override;
};
The overrides for f3() and f4() will fail.
f3() because it's not virtual in the base.
f4() because it doesn't exist in the base.