by Allen B. Downey
Download Think C++ in PDF.
The code for this book is in this GitHub repository.
Prof. Thomas Scheffler has translated the book for use with C (rather than C++). The English version is here, and you can get directly to the PDF here. The German version is here, and PDF here.
Think C++ is an introduction to programming using the C++ programming language. I originally wrote it to help students prepare for the Computer Science AP exam (when the exam was in C++).
Think C++ is a free textbook available under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Readers are free to copy and distribute the text; they are also free to modify it, which allows them to adapt the book to different needs, and to help develop new material.
This book has also been translated into Chinese.