Problems
- A non-const does not override a const
- Name of a method hides (not overrides)
(Partial) Solution: override
override
Notes
override
is a specifier
- Acts as a contextual keyword, and you are still allowed to use
override
as an identifier, e.g., int override = 0;
- C# Contextual Keywords
- C++ Keywords
- Style Note: Can replace the declaration of
virtual
in derived classes
- General Note: Instead of guessing, experiment
final
Notes
- On a class, enforces that we cannot derive from the class
- On a method, enforces that we cannot override the method