Bruce Eckel has provided us with another amazing work of his. "Thinking in Java", 2nd edition, revision 11, updated April 25, 2000.
Like any human language, C++ provides a way to express concepts. If successful, this medium of expression will be significantly easier and more flexible than the alternatives as problems grow larger and more complex.
Bruce Eckel
Thinking in C++ Second Edition (PDF:2,42 MB)
Note: If you wish to save this file to your hard drive - then right click (or ctrl-click for Mac) on the link and select save-as.