C++ Programming: Program Design Including Data Structures, Fourth Edition Chapter 12: Inheritance and Composition.