C ++ Program Design: An Introduction to Programing and Object-Oriented Design - COHOON, James P. (McGraw-Hill, 1999)