REVIEW - Navigating C++ and Object-Oriented Design

Title:

Navigating C++ and Object-Oriented Design

Author:

Paul Anderson, Gail Anderson

ISBN:

0135327482

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.