Файлы заголовков в C++ отличаются от обычных файлов тем, что содержат не исполняемый код, а объявления. 12
Заголовочные файлы позволяют подключить к программе типы данных, структуры, прототипы функций, перечисляемые типы и макросы, используемые в другом модуле. 1 По умолчанию они имеют расширение .h, иногда для заголовочных файлов языка C++ используют расширение .hpp. 1
Обычные файлы C++ (файлы исходников или реализации) стандартно имеют расширение .cpp и содержат исполняемый код. 4
Таким образом, файлы заголовков используются для создания шаблонов и определений классов, а файлы .cpp — для реализаций и исходного кода. 5 Смешивать использование этих двух методов — плохая практика. 5