Problem solving, abstraction, and design using C++ - Friedman, Frank L.; Koffman, Elliot B. (Pearson, 2011)