There is one thing that I’d like to say about learning C++ (or any language) from books: If you don’t understand something, blame the book not yourself.
Despite what some Amazon reviews would have you believe, there is no magic book on the market. I think of most programming books as incomplete works. In order to get a full view of the topic, just get a few decent books – not just one or two – get a few, and jump back and forth between them when you get stuck.
An ideal C++ book should focus on teaching concepts with very simple examples, and most of the concepts in C++ can actually be taught in this way. Stay away from books that over complicate their examples or ones that focus on a single application. Single application books usually start building an app from the first chapter and continue to do it all the way to the end. I hate that kind of approach because you can’t use those books for reference. You can’t just dip in and read a couple of pages and then close the book.
Also, find an application that you’d enjoy modifying from Sourceforge and begin reading it’s source code for a couple of minutes a day. It’s really rewarding to see all those nonsensical walls of text becoming more and more meaningful as your knowledge of the language increases.
Here are four books that I like, don’t forget there is no magic book, so get as many books as you can
C++ Primer – Stephen Prata
Ivor Horton’s Beginning Visual C++ 2010 – Guess who wrote it
C++ All-In-One Desk Reference For Dummies – John Paul Mueller
Starting Out with C++: Early Objects – Tony Gaddis