#include:
1. It is a good practice to break your code into multiple, small files to reduce complexity.
2. When you declare a class, structure, function, or constant, you want to do it exactly one place, so that if you change it, you only have to make one change.
3. The compiler builds one source code file at a time. When you use a class, structure, etc., the compiler needs the description to know how to build it. It needs to have that information contained in the file that it is compiling.
To make 1, 2, and 3, work together, you declare the class, structure, etc. in a file, known as a header file (usually named with .h extension, like myclass.h).
In every file that uses your class, structure, etc., you put a #include for the header file at the top of the code. When the compiler goes through you code, it copies the included file into the code file so that it has a local copy fo the header file and all the information it needs to do its job.