Читал в свое время совет, но сам не пробовал (мои проекты не очень сложные) — пишется один
.h
-файл на весь проект, но каждая логическая секция в нем завернута в
#ifdef USE_A
...
#endif
.
В исходниках соответственно сначала определяется, что использовать, а затем включается
.h
-файл:
#define USE_A
#define USE_B
#include "project.h"
Автор писал, что такая структура удобна именно для больших проектов. Правда, это книга довольно старая и описывала еще C.