To learn C++, and in general programming, is different to learn designing.
Designing is the fact of thinking before coding.
Personally, my first step in designing where... hum... not a good experience.
I had some basic knowledge of programming, and didn't understand the use of that stuff. Now I'm a more experienced programmer, I see the use, but I can't say I'm a good designer. This is more complex than programming, if you try to learn it by yourself.
I'm fear that become a game programmer, or at least program a very good game were the dream of many people. But I'd see many just abandon quickly, because didn't see anything close to a game.
I don't want to say you'll never be, I hope you'll sucess.
But, keep in memory that the road is long.
Now, about the question: "is C::B a good program to start learning game design" I will reply: NO. It an excellent software to make code. Game's code of any other kind of code, it's not a problem.
But you can't design with it.
The design is the art of drawing the main lines of your project, like dividing it into classes (in OOP), saying how the network, graphics, physics and other parts will interact with each others and so on.
For those kind of things, there is UML, wich is a language to draw a software (and keep in mind that it is a language, not a methodology). But you'll then need to program what you have drawed.
Think on how you make a building: before really constructing, you have to draw plans. Drawing plans is the designing, constructing is the coding.
You can build something without draw. But it's harder.
Both are important. Personnally, I think it's more interesting to code than design, but a good design avoid hours of code.
I just say those things to warn you.
Another last thing: games are sometimes easy to make, but they are not the graphics one. When you come to graphic, there is 2D and 3D. And over all of this, you'll learn that a graphic game need... graphics ^^
Hope I didn't broke a dream. Seen many people go in dev, and leave it beause they weren't warned...