Bonjour,
Dans le cadre du développement d'un jeu, j'ai mis en place le design pattern "Visitor" qui me permet de mieux gérer tout ce qui est rendu et conditions spéciales (gestion du comportement des personnages et des évènements lors de l'apparition de pluie ou de neige par exemple). Après quelques difficultés, je suis finalement parvenu à faire e nsorte que tout marche. Pour cela dans ma classe abstraite qui définit un Visitor, j'ai du déclarer les classes visitées de la au préalable façon suivante :
Voici entre autre un exmple de déclaration d'une classe visitée:
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 // Visitor.h class ClassA; class ClassB; class ClassC; class Visitor: { // Constructeurs & Destructeur Visitor(); virtual ~Visitor(); // Procedures & Functions void visitClassA(ClassA *a); void visitClassB(ClassB *b); void visitClassC(ClassC *c); };
C'est tout ce que j'ai trouvé pour que ça compile du fait des problèmes de redondance dans les fichiers *.h . Mais trèves de bavardages, voici ma question : "Est-ce que c'est normal que je doive déclarer dans Visitor.h les classes que je vais visiter tel que je l'ai fait ou y'a-t-li une meilleure façon de le faire ?"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 // ClassA.h #include "Visitor.h" class ClassA: { // Constructors & Destructor ClassA(); ~ClassA(); // Procedures & Functions void accept(Visitor *v); };
Merci à tous ceux qui prendont la peine de se pencher sur ma question.
;-)
Partager