Для очень больших проектов обычно есть 2 вида функций / объектов: те, которые используются во многих местах и те, которые используются только локально (в одном файле или нескольких связанных файлах).Вы хотите разместить их в двух разных местах:
- В центральном месте, скажем, root \ inc, поместите заголовки для всех функций и констант, которые широко используются здесь.
- В каждом каталоге поместите заголовочные файлы, которые влияют только на эти области.
Преимущество этого состоит в том, что это вызывает некоторую развязку вашей программы.Файл cpp в части пользовательского интерфейса не может получить доступ к функциям в сетевой части, если он не находится в центральном месте и не предполагается, что он будет широко использоваться.
Если вы говорите не так уж много, но все же больше, чем одинфайла, тогда практическое правило заключается в том, что вы держите каждый заголовочный файл в одном классе или в большинстве из нескольких тесно связанных классов.