C++ Language/Objects/Inheritance/RestrictedOverriding

A library author can use the final keyword to prevent an application programmer from further overriding a virtual-function.

An application programmer can use the override keyword to require that the virtual-function he's implementing must have also existed within the base class.

Additional information about restricted overriding