Файлы заголовков содержат только объявление функции, а фактическая реализация функции находится в библиотеке. Если они не хотят делиться исходным кодом, они могут поделиться файлом obj.
Почему мы используем библиотеку, если реализацию функции также можно выполнить в другом файле C++?
Подробнее здесь: https://stackoverflow.com/questions/684 ... brary-in-c