I think I'll chime in on the book recommendations;
After reading an intro. to C++ book, read this;
- Code Complete by Steve McConnell
After reading that book - which should hopefully improve your code in a generalized fasion - you'll need to improve your C++ code;
- Effective C++: 50 Specific Ways to Improve Your Programs and Design (2nd Edition) by Scott Meyers
And finally, you must learn what it means to "program to an interface, not an implimentation";
- Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
Inbetween all of these, you'll need a good book on data structures. Unfortunately I have no recommendations for such a book.
These books, combined with the group knowledge located on these forums and
www.gamedev.net, should get you well on your way.