Full text downloadable programming books with examples:
Thinking in Java introduces Java fundamentals, one step at a time, using to-the-point code examples and emphasizing the fundamental concepts underlying all Java programming -- including: program flow initialization and cleanup hiding implementations reusing classes and polymorphism.
Thinking in C++ begins with a tour of what object-oriented programming is all about, as well as the software design life cycle. The book examines the implementation of C++, from basic keywords and programming principles to more advanced topics, like function and operator overloading, virtual inheritance, exception handling, namespaces, and templates.