I'm going to counter what kotu said and say don't buy "The C++ Programming Language".
There's too much that you'd already need to know before reading that book.
You'll most likely get confused and will have wasted your money.
Before you learn any language, you need to understand key programming concepts
the language itself.
You should already know variables, loops, subroutines, ect, but you have to conceptually understand:
-OOP (Object-oriented programming)
-Classes and structs.
-What a pointer is, and why it's SUPER important.
and most importantly, something I have seen you mess up many times:
-What makes C++ different from TI-Basic, Java and every other programming language.
Tip: If you can't tell me why C++ is different/better than Basic/C/Java in more than a paragraph you are not ready to learn C++.@kotu
Didn't C++ used to be a subset of C? If I remember correctly "C with classes" was the subset name. I hear lots of arguments for C++ not being C's subset because of the different directions they're going.