The book's intended audience is someone with little prior programming knowledge or experience.
The book starts well, and I had no trouble understanding the basics of C++. Even though I have previous C experience, I feel that someone without C experience can still use this book to gain familiarity with C++.
The first 11 chapters cover the basics of C++, which map quite well to the features provided by C, so should not present any major difficulty to either a C user, or someone with little programming experience.
Chapters 12 to 20 cover features which are pure C++, and thus new to someone like myself coming from a C programming background.
I was surprised that 'Input and Output' is not properly discussed until chapter 19. Given that most of the example programs produce some sort of output, I would have thought that an early chapter on some basic I/O code would be beneficial to inexperienced readers.
There are plenty of sample code chunks in every chapter, and lots of useful exercises which readers are strongly encouraged to undertake. There is also a Code ZIP file that can be downloaded from the APRESS Web site.
Overall, I would suggest that this book is considered by someone who desires to learn C++. Do not be put off by the number of errors found by myself and other readers. In some ways, finding these errors gave me confidence that I have understood the subject material. See the Long review for a list of errors. [However, it seems from this review that this book introduces C++ from the traditional view of first teaching the reader 'better C'. There is nothing wrong with that approach as such, but it often fails to develop good C++ programming based on the strengths of the language. - Francis]