Bonjour à tous,
Je reviens vers vous pour un conseil.
Soit les classes suivantes (j'ai supprimé le constructeur et destructeur pour une meilleure visibilité) :
Le problème c'est qu'en fonction de mes items, je dois passer des paramètres différents (par exemple pour l'item1, je dois avoir un int et un char alors que pour l'item2 j'ai besoin de 3 int et d'un tableau de float)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
26
27
28
29
30 class t_item { public: virtual int gerer(???)=0; }; class t_item1 : public t_item { public: int gerer(???); }; // dans le .cpp t_item1::gerer(???) { /* code à executer propre à l'item1 */ } class t_item2 : public t_item { public: int gerer(???); }; // dans le .cpp t_item2::gerer(???) { /* code à executer propre à l'item2 */ }
Etant donné que je peux pas surcharger ma fonction virtuelle pure en X fonctions, j'ai eu l'idée de faire passé un void* et comme ca, je peux encapsuler ce que je veux dedans dont une structure paramètres qui contient les paramètres que je veux.
Mais est ce une bonne idée ? N'y a t-il pas une autre solution car cette solution me semble bancale 8O
Merci ! ;)