In terms of making a video game (knowing how to add graphical stuff bells and whistles) you need to first learn and understand the fundamentals first. I cannot stress this enough! It will make your programming journey less rocky! Pick programming books that are well-written! People above already listed those sources.
More importantly, never give up and program a little bit everyday. You will face challenges and many bugs along the way. But once you fix the bug, it's going to be the most fun you will ever have sitting in front of a computer. Question yourself why you are faced with this problem and ask on forums for insight. Of course, you will need to solve the problem yourself
Make simple games that involves no graphical features first. This is far more important because game are built off of logic.
Personally, I don't think I would have understood C++ until I was competent with Visual Basic and later on Java before C++.