C Preprocessor
When programming with C and C++ it helps to understand a little about what the C Preprocessor is and when the compiler invokes it.
Basically as the name implied the C preprocessor is done before the C++ compiler actually parses the file and compiles the code.
The C preprocessor handles all the commands you see like:
#!cpp
#include
#define
#ifdef
#else
#endif
etc.
So directives like #include are used to suck in the included file and expand it into the context shown the code. The pre-processor runs recursively in any included files which as you can imagine if you #include files which #include many other files and so forth the actual expanded file that is finally passed to the C++ compiler after the pre-processor becomes very large.
See wikipedia for more information.