This is an introductory C++ text that is aimed at readers with some programming experience (although I think a beginner could read it). After an introduction, chapters 2 to 8 cover 'procedural programming', i.e. types, arrays, loops, conditional statements and finally functions. Chapters 9 to 14 cover OO programming, i.e. classes, inheritance, templates, exceptions, etc. The final two chapters cover the STL and I/O. Each chapter contains example programs (available on the CD), points to remember, a summary, review questions and exercises.
The C++ is up-to-date using short header names and namespaces and discussing topics such as explicit qualified constructors, the mutable qualifier, RTTI, etc. However, the discussions often lack rigour, e.g. the discussion on 'NULL or 0' (page 500) ended up with the vague statement
The C++ tradition, however, seems to favour using a simple 0 instead of the equivalent NULL , rather than simply stating that the definition of theNULLmacro in
stddef.his often not suitable for C++ programs. The STL is described in chapter 15 but not used prior to that. The STL has (or should have) a major impact on how C++ is taught and used. Not using the STL in formative chapters gives the impression that a previous edition of this book has just had a chapter on the STL added, without an evaluation of its impact on the teaching approach.
I found this a very readable book with clear up-to-date explanations (although a bit longwinded for my taste). Suitable for beginner self- teaching who finds the more academic books hard to read or as backup reading on a formal programming course. Not recommended as a set course text or for the professional programmer.