C++ tips en software

My favorite C++ books

It is quite a difficult job to find exactly the books you need on C++. It took me two years visiting all bookstores in the country to find what I need. Here is my annotated list of favorite books:

If you are not familiar with C, I recommend The C programming language, second edition written by the inventors of C, Brian Kernighan and Dennis Ritchie (sorry, I do not know the ISBN number of the English edition). It gives a good introduction in C and is easier to understand than the introductory books on C++.

However, for programming buy a C++ compiler immediately and start writing your code in C++ immediately. Because C++ is a better C, as the name suggests, you can write C++ programs using C code.

For learning C++ you need two books to start with:

The C++ programming language, second edition by Bjarne Stroustrup (ISBN 0-201-53992-6), again the inventor of the language. As a second title I recommend An introduction to Object Oriented Programming by Timothy Budd (ISBN 0-201-54709-0). This book gives an introduction into the basic concepts of object oriented programming. It uses examples from C++, Objective C, Smalltalk and Object Pascal. I think these two books keep you busy quite a while.

Once you have hit your nose several times to pointers, you should definitely read C++ pointers and dynamic memory management written by Michael Daconta (ISBN 0-471-04998-0). This book explains all concepts and troubles related to pointers very clearly and with great detail. The book includes a disk with lots of simple sample programs.

The last book you need covers design considerations with much more depth than Timothy Budd does. The focus of the book is on reuse. (Maybe this is why you want to use C++). Here it comes: Design Patterns, Elements of reusable object-oriented software. by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides (ISBN 0-201-63361-2).

If you are so lucky to speak Dutch, I can recommend Het C++ boek by J.C. van Winkel and L. Willems (ISBN 90-395-0028-2). This book is an introductory book on C++, provide you have some C knowledge. It is better readable than Stroustrup, but in practice I use both books as a reference.


A free C++ compiler

When I started programming C++ I used the GNU C/C++ compiler. This compiler is available for several different platforms. It was originally developed for a UNIX environment, but ports for Windows  are available as well. GNU software is developed by the free software foundation. The basic principle is that all software should be free available.

The quality of GNU software is usually excellent. In most cases far better than commercial versions. The disadvantage is that support is very limited. It also does not help you very much in developing Windows applications.

If you don't have lots of money to buy a C++ compiler, the GNU C++ compiler is a good alternative. Unfortunately as far as I know there are no versions with support to develop Windows software. there are several graphics libraries available, as well as alternatives for MFC.

I give two download sites here. You need an FTP program to obtain them.

  • ftp.sunet.se
  • ftp.idb.fr

Visual C++

Currently I use Visual C++. Visual C++ consists of an Integrated development Environment (IDE) and very important the Microsoft Foundation Classes (MFC). MFC is a class library that supports a programming architecture. It makes developing Windows applications much easier.

Tip: buy the learning edition first. This is relatively cheap. Later you can upgrade to the professional edition. The learning edition plus upgrade is cheaper than buying the full version of the professional edition at once.


Visual C++ books:

If you want to write Windows programs you definitely need following books:

Jeff Prosise: Programming Windows with MFC. (Microsoft Press)

Jeff Prosise gives an excellent introduction to MFC. After reading this book you may start trying to write your own programs. It assumes a fair knowledge of C++. Don't try to write Windows applications before you have enough experience with C++ Console applications.

Charles Petzold is a second author you acnnot and should not miss. He is the author of Programming Windows 95/98 etc. This book essentially describes the bare interface between the Windows operating system and your application (Win32 API). Some people recoomend to study this before you start with Prosise. I disagree with this, but you definitely need this book.

If you are interested in multimedia programming or games programming you should study for instance Teach Yourself DirectX 7 in 24 hours, by Robert Dunlop, Dale Shepherd and Mark Martin. (Sams publishing). Finally, I recoomend studiing the Registry details. A good introdcution with sufficient details is provided in Using the Windows98 registry by Jerry Honeycutt (Que books).


Support

Just two important sites with lots of examples, tips, tricks tools samples and free classes:

News groups:

I compiled a number of articles from the newsgroups about MFC and win32. They are collected in a Word2000 document.

Download news topics here (90kb) Last update: March 2003.


Home page

R.J.Heijink@ieee.org

Page updated on 18/03/2003

Copyright © 2001,2003  Rudolf Jan Heijink