Stephen Prata: give the man a cheer (beer!) (or many)! This book is good...no, not good...GREAT! A book doesn't last 20 years (yes, 20) through various editions (5 obviously) without being something special. And this is no exception. This is unqeustionably the best beginner/intermediate book on C++ I have ever read (it pains me to say it...but it has dethroned Object oriented programming in c++ by Lafore, ISBN 0672323087 in that respect). Maybe it's just me, but Prata has a tone (a way) that just makes it VERY easy to relate to the concepts he is trying to explain. He doesn't belabor a point, nor does he treat you like a gumby or one of his colleagues to impress with his knowledge of the arcana of C++. He, oddly enough, seems more interested in teaching you (properly) then trying to get paid (look at the size of the book! if he were looking to get paid, cut the book in half, sell it in two parts or sell one reduced size part for the same price).
Prata offers fair coverage of the language: particularly the basics, as well as some nice software engineering opinions along the way (not in little colored boxes like Deitel with an Ant picture...which is cool: the ant analogy just annoys me- loss of identity, no individuality, part of a hive, etc...). Obviously he can't cover everything. Check out the chapter listing to see if he has what you want! But what he does cover-> the ++basics are extremely well done. There are programming exercises at the end of each chapter of course (with answers).
Prata has adopted a friendly, welcoming tone, laced with humor (not insipid humor, or just plain lame). He doesn't lambast microsoft or push any particular product/compiler. He provides little tips if you're using new or old, non-ansi-c++ compliant compilers. This is just a really helpful, useful, good to learn from book. I've read it to recover some obfuscated c++ knowledge lost from spending too long in java land (a nice, highly productive place...but just a little too safe if know what I mean: everything is fenced in and there are no pointers for self navigation!), so my opinion may be from somebody who is not a beginner. Nevertheless, having taught people, i would suggest this: this is a pedagogically sound work that offers achievement and understanding for anybody willing to step up and take a serious whack at c++. Read it and enjoy a true rarity nowadays: someting that not only lives up to its promise, but goes beyond it. This is money that is sure to be spent in a non-resentful manner: there's no buyer's remorse here! There's nothing about this book that I find weak.
Very well done Mr Prata!
Definitely Two thumbs up!