Привет, спасибо за чтение. Это может быть просто подпадает под категорию "личные предпочтения", но в любом случае мы идем...
Я могу определить тело конструктора класса в файле .h или в файле реализации .cpp. Эти два стиля, вероятно, идентичны, поскольку компилятор связан с конкретным проектом (проект для меня означает dll). То же самое относится к любым функциям-членам: они могут быть определены в файле заголовка или просто объявлены там, а затем определены в файле cpp.
ОДНАКО...
Я обнаружил, что если мне нужно включить такие заголовочные файлы класса в разные проекты (это означает, что в конечном итоге код, который использует заголовочный файл, попадает в другую dll), то фактическая реализация в файле заголовка вызывает некоторые головные боли при компиляции (не со связыванием... я даже не добираюсь до этого). Зачем? Ну, я не стану слишком подробно, но компилятор, очевидно, пытается разрешить все функции, которые могут быть определены в других файлах заголовков и т.д.... заставляя бедного разработчика начать вытягивать различные файлы заголовков eetc...
L O N G S T O R Y короткий:
Разве не всегда лучше хранить файлы заголовков без какой-либо реализации и просто использовать их для "деклараций"? Это упростит включение их в более чем один проект без необходимости носить с собой много лишнего мусора.
Каково ваше мнение об этом? Спасибо!