What you should really do first (before diving into the actual game programming), is to teach yourself the basics of programming concepts and basic c++.
Here are some key concepts you should know at a minimum:
- Inheritance
- Polymorphism
- Derivation
There are some of the most told-about concepts.
You should buy/download yourself a C++ for dummies book, since it will take you from the mega-basics to what you really need to know and have as a working foundation. Learning c++ bygoing through articles here and there, with no linear learning curve as to what concepts and functions you should know, can be time consuming and not really a good way to learn it. Use a book. It saves time and frustration. After you have the base foundation, then you can go explore deeper and such. Sounds boring and all that, but you should really do it. I tried starting right away on programming with HL2 mods and such, and it really didn't get me anywhere. Start with the basics and work your way up.
You should be comfortable with classes, the concept of abstraction. The difference and up/downsides of public, protected, private methods/variables and what static variables and methods are, how memory management works, at least at a basic level. Scope of variables, how pointers work.
A lot of stuff is quite necessary to know beforehand.
What zombie@c says would lead you to the correct thing to do (vague as ever

), but I don't think you'd get far unless you know how it works basically.
Source uses C++, but has its own system, hierarchy and syntax + macros etc. etc. So it's kind of a language made with C++, to put it on the edge. So if you don't know it, you'll have a hard time understanding it.