C++ program design an introduction to programming and object-oriented design - Cohoon, James P. (Boston Irwin McGraw Hill, 1997)