The first step is to read introductory books. You should probably learn C first because C is a subset of C++, so you'll already know the C part when you study C++. The next step is to practice writing programs. Programming is like swimming in that you have to do it to learn it. You can't learn to swim just from reading about it. Reading and understanding other peoples' code is also helpful. Then more advanced books will help. I recommend Effective C++ by Scott Meyers. Design Patterns is a good book for learning how to effectively use the object-oriented features of C++.