C++: A Dialog

  • Author: Steve Heller
  • Format: online HTML
  • Price: free

Is this book for you? If you’re a programmer in a language other than C++ and you want to upgrade your skills, then you shouldn’t have much difficulty figuring that out for yourself by reading a few pages. But what if you have no previous programming experience? In that case, here’s a little quiz that may help you decide:

1. Do you want to know how the programs in your computer work inside and how to write some of your own?
2. Are you willing to exert yourself mentally to learn a complex technical subject?
3. Do you have a sense of humor?

If you’ve answered yes to these questions and follow through with the effort required, then you will get a lot out of this book.

Chapters include:

  • Introduction to Programming
  • Hardware Fundamentals
  • Basics of Programming
  • More Basics
  • Functional Literacy
  • Taking Inventory
  • Creating a Homegrown string class
  • Finishing Our homegrown string class
  • Inheritance
  • Polymorphism
  • The Home Inventory Project
  • More on the Home Inventory Project
  • Analyzing the Home Inventory Project

Read: C++: A Dialog

Download the example code from the author’s current website.


This book is quite old and uses a very old compiler, which is still available here, for free (free registration may be required). I am not sure if that compiler will run, or if the executables it generates can run on a modern version of Windows, though. You’ll just have to give it a try to find out.

If you have any troubles with it, you can try this free compiler instead, or even the free C++ Builder Community Edition.

Personally, I’d try the very old compiler first, followed by the newer one, and only use the full blown C++ Builder as a last resort, since there may be compatibility issues with the example code provided for the book, and each step up in compiler complexity and version upgrade just increases the chances that you’ll never be able to get the example code to work with the compiler, or you’ll get lost with trying to use the compiler while following the book.

Unfortunately, the debugger used in this book is no longer available. 🙁

Another thing to keep in mind is that this book is no longer available for free on the author’s website, so I am linking to a mirror of a previous version of his website, instead. The formatting of the book’s HTML text is rather ugly, with an uncomfortable to read mixture of text sizes, and a confusing link layout (due to being an archive.org mirror). If you encounter any dead links in the Table of Contents, try accessing a different link within the same chapter and just scroll up or down the page accordingly, till you get to the content section that you are looking for.

I am keeping the listing for this book available, despite all the issues that may be involved, because the text is still quite good and it has a lot to offer the reader, with regards to understanding how things work under the hood, with a depth not found in very many other beginner books. So, even if you never actually do any coding while following this book, you’ll still learn a lot of the kind of essential base knowledge that can help make you a better programmer.

So, the best use of this book might be as a prequel brain fertilizer, before using another book to do your actual hands on learning.