Since there seems to be an awful lot of threads asking for book recommendations I thought I'd post what I'm doing for others to look at and add to. This way, when the next newbie searches (as they should first ) they'll get a snapshot of beginner texts.
Often, books are suggested that might not be the best for those just starting out who need reinforcement of the concepts (exercises) and gentle explanations. Since I am totally new to C++ (some professional VB and ASP) and have spent hours and hours researching the best path FOR ME (my disclaimer) I'm probably looking at things closer to the next newbie's perspective. To make these choices I read recommendations from ten or so sites and went to the bookstores to browse for myself, as well.
First ... Teach Yourself C++ In 21 Days (Liberty), supplemented with The Complete Idiot's Guide to C++ (Snaith). While not going into much depth, The Idiot's Guide is pretty amazing when explaining functions and classes, which was just a little confusing for me in Mr. Liberty's book. The Liberty book seems to be one of the first choices for most beginners, lots of exercises, and he'll also answer your questions on his website.
Second ... Teach Yourself Data Structures and Algorithms in 24 Hours (LaFore). My mentors all insisted that DS & A be studied and this book has a reputation for being very accessible fo the newbie. Be sure to work thru the example code and do all the exercises.
Third ... C++ Standard Library From Scratch. I am told that the STL should be at least understood, if not mastered by any C++ programmer, whether working in Windows or Linux, and this text is one of the most accessible. It also goes thru an entire console application so you get a taste of real-world development.
After these three 'plain vanilla' C++ texts, you can take off towards Windows with Beginning Visual C++ (Horton) and then Programming Windows With MFC (Prosise), or move toward Linux (KDE, Gnome, QT) and C++, or to games with the many game programming manuals out there. Also, C++ will still be used in Microsoft's .NET world and there are many books already detailing how C++ will be used for unmanaged code with .NET pages or creating supporting controls.
Good Luck!
Rev. Thich Minh Thong