Learn C++ by making games - Yuzwa, Erik (Charles River Media, 2007)
The book begins with an introduction to the fundamentals of the C++ language, including the basic data types of the language. It then progresses further into creating and defining variables, basic mathematical operators, and the various loop structures at your disposal. Next, you'll learn how to use functions to make code more readable and maintainable, along with techniques for breaking up source code into several files for readability. From there you'll move to data structures and explore concepts such as using collections to store multiple copies of a data type