You need a book. Online resources are needed too to develop your skills. Sample working programs that you can study and learn are abundant online. Try reading C++ codes so that you may learn some programming techniques.
One book is not enough if you are really serious about C++ programming.
The most important book you need is a reference book. C++ programming has a lot of standard classes that are useful and these classes has lots of methods and properties and it would be impossible for you to memorize all of it. Thats why you need a book of reference.
QUOTE
The C++ Programming Language
by Bjarne Stroustrup
is a good book in understanding the nature of C++ and it can also serve as a reference book becuase in this book the author (the developer of C++ itself) discusses the standard libraries of C++.
If you are into graphics you need to buy a different book for it, the same if you are into mathematical problems.
There is no one book that explains all the standard libraries in details since it will consume 10,000 pages or more.
THe best approach is buy a book that will teach you the basic of C++ and the basic of the concept of object oriented programming. After you have gained enough knowledge about the basic buy a reference book and some books that discusses advance C++ programming technique. From here on start creating small size programs (1000 lines) or read codes from programs found online and try to understand them. THis will help you develop your programming skills. Reading is one thing but practicing is another thing.
A good free tool for C++ programming is the Bloodshed Dev-C++ IDE with compiler. This package comes with a WIN32 API library which is use in Windows GUI programming. THere is also the NetBeans IDE with compiler which is primarily for Java but you can download an expansion pack that will enable the IDE to work in C, C++. THe expansion pack comes with a C, C++ compiler. But of course you need to install the latest version of Java to run NetBeans.
Reply