Заглавните файлове в C++ са файлове, които обикновено съдържат прототипи на функции и декларации на класове. В тях рядко има истински код на тяло на функция. За да ползвате повечето функции на C++, трябва да включите чрез директивата #include съответните заглавни файлове (например за потоците cin и cout ви трябва файлът iostream, а за функциите cos, sqr, sqrt, sin и други математически ще е необходим заглавния файл math.h). По принцип заглавните файлове са с разширение.h, но „новите“ заглавни файлове, използващи полето std, нямат разширение изобщо.

Ако правите собствен клас или колекция от функции (библиотеки), които искате да използвате и в други проекти, е наложително да се уверите, че заглавния файл е прочетен само веднъж от компилатора, защото не може да имате няколко еднакви дефиниции/декларации на функция или клас. Това може да се направи по два начина. Първият, по-лесен, е като сложите #pragma once в началото му. Само по-новите компилатори „разбират“ това. Ако по този начин не става (програмата дава грешка при компилиране), тогава трябва да приложите втория начин. Измислете някакъв уникален идентификатор, например CSTRING_CLASS_HEADER_DEFINED или нещо подобно, и най-отгоре на файла напишете следното:

#ifndef <ИДЕНТИФИКАТОР>
#define <ИДЕНТИФИКАТОР>

В края на файла просто сложете:

#endif

Така сте сигурни, че файлът ще бъде прочетен само веднъж. Между другото, трябва да направите същото и за файла, в който се намира реализацията на вашия клас/функции, но използвайте друг идентификатор.

В тази страница може да видите целия списък на заглавните файлове на C++: Списък Заглавни файлове в Cplusplus