REVIEW - C++ Program Design - An Introduction to Programming and Object-Oriented Design


C++ Program Design

An Introduction to Programming and Object-Oriented Design


James P. Cohoon, Jack Winfred Davidson



McGraw-Hill (1999)




Francis Glassborow


February 2000



I am unhappy with the title of this book. In fact the substance of the text is a perfectly respectable introduction to C++. It isn't the way I would introduce the subject because the authors lean heavily on simple arithmetical programs which are certainly easy to grasp but are hardly exciting to the ordinary novice and serve to consolidate the myth that programming is about arithmetic.

On the positive side, the authors do use the full power of standard C++ including use of the string class and the STL. The text comes with a graphical API from the author called EzWindows which is provided for MSWindows, Unix systems and Macintosh computers. I have not had time to test this on more than MSWindows but it certainly allows the novice to focus on C++ programming while enjoying the benefits of some graphical programming. Sadly there are several fundamental flaws in the implementation. The most significant of these is the failure to provide any virtual destructors in base classes. Indeed the authors seem to have a blind spot (and by deduction so did their technical reviewers) where it comes to the concept of virtual functions. They do not even touch on the subject until sometime after they have started covering template functions.

The pace of the text accelerates alarmingly. It isn't until page 363 that the authors start coverage of writing your own class. Inheritance has to wait till page 659. The main text finishes on page 791. In other words all the big stuff that makes C++ such a powerful language is squeezed into the last sixth of the main text. I think this book has a lot going for it so it is a shame that some of the flaws lie in areas where good programming is important. It also sadly reflects on the authors' own C++ that their own code is flawed this way. None-the-less it is a good candidate for introducing programming virgins to C++ as long as they are warned that the book falls short in some places and that the authors' code needs some serious work.

Book cover image courtesy of Open Library.

Your Privacy

By clicking "Accept All Cookies" you agree ACCU can store cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

By clicking "Share IP Address" you agree ACCU can forward your IP address to third-party sites to enhance the information presented on the site, and that these sites may store cookies on your device.