REVIEW - Navigating C++ and Object-Oriented Design


Title:

Navigating C++ and Object-Oriented Design

Author:

Paul Anderson, Gail Anderson

ISBN:

Publisher:

Prentice Hall Professional (1998)

Pages:

799pp

Reviewer:

Brian Bramer

Reviewed:

October 1998

Rating:

★★☆☆☆


Design is as important as implementation and the authors state 'one cannot use C++ effectively without using object-oriented design'.

Chapter one introduces C++ features (inheritance, polymorphism, template container classes, etc.) together with OMT (Object Modelling Technique) modelling notation and OO design concepts (aggregation, association, inheritance, etc.) Chapters two and three cover language basics (may be skipped by a C programmer) and chapters four, five and six Classes and overloading (may be skipped if one has C++ experience). Advanced topics start at page 307 looking at class design, customise storage management (overloading new and delete), template functions and classes, inheritance, RTTI, exception handling and multiple inheritance. All the advances in C++ over the past few years are covered (templates, namespaces, RTTI, etc.).

I liked the style of this book - good design is emphasised, the explanations are clear and concise with plenty of example programs. My major reservation is that the STL is not used in the main text, the authors preferring to implement their own containers to bring out design issues (there is an overview of the STL in an appendix). The STL is a fundamental part of C++, has a major effect on how it is taught and any new text should reflect this (e.g. the STL could have been used in the early chapters to bring out OO concepts and the latter chapters could have compared the containers implemented with similar facilities in the STL). Not recommended for a reader new to C++, but worth considering by experienced C++ programmer who wishes to learn more about design issues and update their knowledge to the latest C++ specification.


Book cover image courtesy of Open Library.





Your Privacy

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

Current Setting: Non-Essential Cookies REJECTED


By clicking "Include Third Party Content" you agree ACCU can forward your IP address to third-party sites (such as YouTube) to enhance the information presented on this site, and that third-party sites may store cookies on your device.

Current Setting: Third Party Content EXCLUDED



Settings can be changed at any time from the Cookie Policy page.