Well thats the beuaty with C++. You don't need anything else to do these things, well except of course to create the graphics. But besides that, C++ can handle everything else. Now C++ is not like any other language, it has Library packs you will be using, (basically pre-written C++ code that you will call in a program to run a specific function) and this will help you do almost everything.
You won't be introduced into graphics until the very back of the tutorial books, its one of the last things you learn. For graphics, you can use DirectX for 3d, or for 2d. These are basically pre-written C++ programs that work as a graphics Engine, and they work so well, that most software companies use these.
Here's a great reference link that will explain these things better, becuase the questions you are asking deserve a good answer, and you can find them here.
http://www.gamedev.net/reference/ . (Even if you aren't creating games, you can still learn a lot from this reference listing)