C++ Program Design : An introduction to programming and Object Oriented design - COHOON, James P. (McGraw-Hill, 2002)