Designing a Base Class With Inheritance and Polymorphism In Mind
For the Base Class
- Identify the set of operations common to all the derived classes.
- Identify which operations are type-independent (these become (pure) virtual to be overridden in derived classes).
- Identify the access level (public, private, protected) of each operation.
For a more complete discussion, see "Essential C++",
by Stanley Lippman (section 5.4)