В С++ обычно прототипы функций помещаются в отдельный файл, чтобы не загромождать их кодом основную программу. Этот файл называют включаемым, подключаемым или заголовочным. Затем (при необходимости) этот файл подключают к исходному файлу на С++. При компиляции препроцессор вставляет содержимое заголовочного файла в код программы в том месте, где встречает директиву #include. Пример: #include <iostream> using namespace std; int main() { cout << "Hello, World!" << endl; return 0; } В данном примере нам нужно подключить файл iostream, иначе не будет работать cout, и компилятор будет выдавать ошибку. Директива #include требует от препроцессора заменить её содержимым указанного файла. Эта директива не похожа на обычные инструкции С++, потому что она обрабатывается ДО компиляции программы. То есть сначала собирается в кучу весь код, в том числе и код подключаемых файлов, а потом уже выполняется компиляция. Директива должна располагаться на одной строке в файле исходного кода. То есть вот так