Я настоятельно рекомендую помещать реализацию в файлы ".cpp" и объявления или интерфейс в файлы заголовков ".hpp".
Когда в заголовочном файле изменяется встроенная функция, ВСЕ исходные файлы, содержащие заголовочный файл, будут перекомпилированы. Когда функция изменяется в исходном файле, необходимо перекомпилировать только исходный файл.
Получите код, работающий правильно и надежно, перед созданием встроенных функций.
Другим предложением является создание библиотек (набор объектных файлов) для исходных файлов, сгруппированных по темам или нечасто скомпилированных (т.е. они работают и не изменяются).
Не беспокойтесь ни о количестве файлов, ни о продолжительности процесса сборки. Сосредоточиться на завершении проекта правильно, надежно и в соответствии с графиком. Настройте процесс сборки по мере необходимости. Если в расписании много времени, если код работает правильно и надежен, внесите изменения. Если изменение процесса сборки может значительно ускорить время разработки *, внесите изменения.