C++ program design : a introduction to programming and object-oriented design - James C.Cohoon, Jack W.Davidson (Irwin, 1997)