Problem solving, abstraction & design using C++ - Friedman, Frank L.; Koffman, Elliot B. (Addison Wesley : Longman, 2000)