Conventions for multifile programs. 1. Each class has a .h header file declaring it and a .cc definition file. 2. The header file is protected from multiple inclusion by preprocessor commands, two at the top and one at the bottom. For example if the class is foo, the header foo.h looks like this: // The foo class which provides frobulation. -bds 2004Feb #ifndef __FOO_H_ #define __FOO_H_ #include ... class foo ... { ... }; #endif 3. The definition file foo.cc begins by including foo.h 4. If separately compiling foo.o from foo.cc, be sure the compile line tells where to find any included header files. This is only an issue if the header files are neither in the current directory nor part of the standard library. Usually the issue is headers from a package you are using such as GMP. 5. If compiling an executable program from .o files, be sure the compile line tells where to find the .o's of any functions taken from a package such as GMP. On strauss/mahler you also need this: -R/opt/gcc-3.2/lib -lstdc++ 6. If compiling an executable program directly from .cc file(s), be sure both item $4 and $5 are covered. 7. To ease program development, use the unix "make" command. See About_makefiles for info. Do "man make" to see overwhelmingly much detail about all the bizzare things make can do.