CS202   3- ‹#›
Inheritance Hierarchies
nBecause derived classes inherit the members of the base classes, one class' design can be based on existing members from another class.
nThink of this as using building blocks.
nInstead of starting from scratch with each class that we design, we can extend one class from another, reusing an existing class and reducing the need to reinvent.
nNew member functions can be added without modifying the base class itself.  And, a derived class can change the inherited base class client interface by specifying data members and member functions of the same name, hiding those inherited from the direct or indirect base classes.