Organisation des en-têtes
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 :
Code:
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 |
Dans mes fichiers de déclaration des classes, j'ai :
Code:
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 |
Et dans mes fichiers cpp, j'ai un #include "a.hpp".
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) :mrgreen:
Est-ce qu'il y a d'autres inconvénients à organiser ses en-têtes de la sorte ?