1. In *.h files should only be the headers of the functions and declaring global variables.
2. *.cpp files do not write in #an include macro, Oh ( they only write *.h)*.cpp are compiled separately and then the resulting object files linkouts together into a single executable.
3. To avoid the inclusion of several times the same file, use #ifndef:
// file MyForm.h #ifndef __MYFORM__ #define __MYFORM__ // here the contents of the file #endif