Bonjour à tous,
Je dispose d'une classe DA qui contient un constructeur et un destructeur, ainsi que des data en protected :
Ensuite, je dispose d'autres classes (une par type de données en fait) qui récupèrent les data protégées de la classe mère et qui en implémentent une nouvelle pour chacune:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 class DA { public: DA(); DA(char * Name, char * FC, char * TrgOp, char * M_O_C); ~DA(); private: protected: char * DataAttributeName; char * FunctionalConstraint; char * TrgOp; char * M_O_C; };
Mon objectif est de créer à partir de là des fonctions qui permettent d'accéder aux données "Value" de chaque classe fille. L'idéal aurait-été de créer une seule fonction en public dans la classe mère et que toutes les classes filles puissent l'utiliser par héritage. Le problème est que le type de "Value" diffère pour chaque classe fille. Je cherche une solution qui me permette d'éviter de coder une fonction pour chaque type de "Value".
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
26
27 class BOOLEAN_TYPE : public DA { public: BOOLEAN_TYPE(); BOOLEAN_TYPE(char * Name, char * FC, char * TrgOp, char * M_O_C); ~BOOLEAN_TYPE(); private: bool Value; protected: }; class ET_IEC_DIRECTIONAL_TYPE : public DA { public: ET_IEC_DIRECTIONAL_TYPE(); ET_IEC_DIRECTIONAL_TYPE(char * Name, char * FC, char * TrgOp, char * M_O_C); ~ET_IEC_DIRECTIONAL_TYPE(); private: ET_IEC_DIRECTIONAL Value; protected: }; /* Beaucoup d'autres ... */
Quelqu'un connaitrait-il une méthode efficace ?
Partager