For example:
class Base {
virtual void my_function() = 0;
};
class Derived : Base {
void my_function() override;
};
From what I read, the override
keyword is used to make sure that we have the correct signature in the function that we are overriding, and it seems to be its only use.
However, in the case of a pure virtual function, the compiler would throw an error if we used an incorrect signature in the Derived class (or Base class, depending on how one see things). So, is there any point in adding override
at the end of Derived::my_function()
declaration?
Derived
class then theDerived
class becomes abstract as well. That might not be detected in the correct place without theoverride
keyword. – Zlatoustoverride
assertion, your code won't compile. – Redintegration