Автор: cheops (05.01.2007 в 17:32)
Например, определение класса, прототипы функций, пользовательские типы... вообще всё, что может потребоваться стороннему разработчику. Дело в том, что когда создаётся библиотека, она зачастую распространяется в бинарном виде, а заголовочный файл (.h) в текстовом - по заголовочному файлу внешний программист ориентируется, что имеется в библиотеке, какие методы содержит класс, что можно выжать из библиотеки. Заголовочный файл содержит все вспомогательные определения, включив такой файл в свою программу, разработчик может сразу использовать библиотеку.
Т.е. заголовочный файл, как правило, содержит открытый интерфейс, а cpp файл - закрытую часть, то, что должно быть инкапсулировано (скрыто от чужих глаз).