I started learning with Sam's Teach Yourself C++ in 21 Days. It was fairly good for just getting down some basics, but that's really all you need to learn in order to actually start programming. The best way to learn C++, for me at least, is to actually code (which is why taking classes for it is fairly effective... you have to do homework

) and just mess around with stuff until you understand what's going on.