Sadly this book has dated very badly (personally I think it was badly dated when it was published in 1995). The material is hardly going to challenge your intellect. Indeed I would happily use this as a text for an average ability class of 15-year olds. It isn't until over half way through that the author even considers object-orientation (which he thinks is a relatively recent paradigm - that would be news to Smalltalk programmers, which language was itself based on the OO concepts developed by Simula in the mid-60s).
The author has a very narrow view of problem solving but even that is not adequately developed in the text and end of chapter exercises.
Perhaps the flavour of the book is well exemplified by the following definition of an OOP:
A program in which the real world is modeled using abstractions such as classes and objects is an object-oriented program.
Ignoring the spelling mistake (not really excusable considering the tools available to check spelling) this definition hardly helps. A quick check reveals that the author defines an object as a variable of class type.
Each chapter includes a section titled 'Improve Your Problem-Solving Ability'. This is a complete misnomer. They are just debugging exercises. For example on page 525 (by which time you should be more than half way through your course of study) we have:
Explain why the following code will not compute a correct value for sum.
#includeBy the way, the author lists 44 reserved words (keywords) in an appendix. The 1991 edition of The C++ Programming Language lists 48.void main() { int i; unsigned int sum = 0; for (i=5; i>= -10; i--) sum = sum + i; // end for cout<< "\nSum: "<< sum; } // end function main
Frankly, were I the author I would be embarrassed. I'll retract my earlier statement, I wouldn't even use this book with a class of 15-year olds they would learn too much that is not true.