Salve,

ho un progettino scritto in C++ che ha la seguente struttura:
codice:
.
|-- subdir1
|   |-- ClassA.cpp
|   `-- ClassA.h
|-- subdir2
|   |-- ClassB.cpp
|   |-- ClassB.h
|   |-- ClassC.cpp
|   `-- ClassC.h
|-- subdir3
|   |-- ClassD.cpp
|   `-- ClassD.h
`-- main.cpp
Ho strutturato il progetto in questo modo perché ho bisogno di suddividere le varie classi in diversi package, e riesco a far funzionare tutto, ad esempio includendo una classe di un package nella classe di un altro semplicemente facendo (ad esempio) #include "../subdir3/ClassD.h" da ClassB.h.

Vorrei capire se sia opportuno associare le varie subdir a diversi namespace, e capire come si fa (ho letto che negli header si dichiarano i namespace e si elencano le classi, ma non ho capito se bisogna fare un header a parte che elenca tutte le classi di un "package" o altro).

Inoltre vorrei capire dove conviene collocare tutti gli header. Ho visto che Eclipse fa in un modo (come ho riportato sopra), Qt Creator in un altro; ma allora non capisco quale sia l'approccio più corretto.

Come dovrei fare?