I have a question about inheritance.
When you REDEFINE a base class member function
in a derived class, the function signatures DO NOT have to match.
When you OVERRIDE a base class member function
in a derived class, the function signatures MUST match.
What is the difference between REDEFINING and OVERRIDING ?