This is the first time that I have written a review of a book I haven't finished reading -- and probably won't. I bought this book for the advertised purposed -- to teach myself C++, and as someone who started programming in 1965 (that's nineteen SIXTY-five) in assembly language, and has learned a number of languages since then, I didn't anticipate much difficulty here.
On the plus side, the layout is nice, the book is clear and pretty well written, it seems to be complete, and the CD-ROM does provide a good learning tool.
On the minus side, there are major errors that seem to have crept in between the fifth and sixth editions of the book (I compared my copy with a fifth edition owned by a friend). The first ones were pretty obvious and easy to figure out if you were paying attention to what you were reading. But when I discovered that the code example that should have been #5-12 was actually a reprint of #5-2 with the notes from what should have been #5-12 I began to wonder how much care had been applied to checking this book.
Then I did the personal workbook questions at the end of chapter five and discovered that the answer key simply omitted the answers to questions 7 & 8 -- both of which I happened to want to check myself on.
At that point I decided that I couldn't trust this source any more, sent an e-mail to the publisher pointing out the errors I had spotted to date, and put the book away.
In a classroom situation where a teacher could point out the errors and work around them, this wouldn't be a big problem. However, when the book is designed so people can teach themselves, there's no human intervention to cover for the errors -- so they simply shouldn't be there.