Je sais qu'il y a déjà pas mal de discussions sur ce sujet, mais aucune ne répond réellement à la question que je me pose... Donc la voici : pour mon projet de GUI en SDL (qui sera une bibliothèque dynamique), j'ai organisé mon code avec un fichier cpp et un fichier hpp par classe (jusqu'ici tout va bien).
J'ai créé un fichier "define.hpp" qui contiens :
Dans mes fichiers de déclaration des classes, j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 #ifndef DEFINE_H #define DEFINE_H #include <iostream> #include <vector> #include <map> #include <list> #include "SDL.h" #include "SDL_ttf.h" namespace MON_NAMESPACE { class A; class B; class C; ... } #include "a.hpp" #include "b.hpp" #include "c.hpp" ... #endif // DEFINE_H
Et dans mes fichiers cpp, j'ai un #include "a.hpp".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 #ifndef DEFINE_H #include "define.hpp" #endif // DEFINE_H #ifndef A_H #define A_H namespace MON_NAMESPACE { class A { ... }; } #endif // A_H
L'intérêt que je trouve à cette organisation, c'est que ça me semble plus simple à gérer, que mes fichiers .hpp sont plus clairs.En plus, comme je fais une librairie dynamique, ceux qui utilisent ma librairie peuvent se contenter d'inclure mon fichier define.hpp... (mais bon, je pourrais conserver ce fichier en gérant différemment mes en-têtes...)
Je sais déjà que cette façon de travailler est la pire qui existe pour le temps de compilation. Mais bon, ça ne me gène pas trop (du moins pour l'instant)
Est-ce qu'il y a d'autres inconvénients à organiser ses en-têtes de la sorte ?
Partager