You should master C++.
>> Learn the language basics. (There're books, but Online Tutorials would be more fun ; http://thenewboston.org/list.php?cat=16
>> Learn about the low-level facilities in C++.
>> Learn about memory-management (mainly Dynamic Memory).
>> Learn some patterns of developing.
Every C++ program is created based on a framework/API (Or at least a platform).
Learn the main API's available.
>> Windows :
(i like it the most),
>> Apple :
>> Cross-Platform :
Learn what you're interested in. There're lots of fields (2D/3D games, database software, graphics software, utility software...)
Some fields are too advanced and complex to do on your own. Those things require libraries and software. Some of them :
>> Games :
(a package of Direct2D, Direct3D and more),
>> Database :
, (and C++, SQL intergration API's),...
**There're much more fields and many libraries, I only listed some, which I've heard good about.