Bonjour,
je suis face à un problème objet et je n'arrive pas à trouver la solution, j'ai du trop faire de java et perdre quelques notions de polymorphisme
En tout cas je "bloque" !!
J'ai les classes suivantes :
et le code suivant :
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
28
29
30
31
32
33
34
35
36
37
38
39 class TType { public: int entier; }; class TTypeA : public TType { public: int entierA; char * chaine; TTypeA() { entierA = 8; chaine = "toto"; }; }; class TTypeB : public TType { public: int entierB; }; class TData { public: TData(){}; int entierData; TType * type; }; class TDataFille : public TData { public: int entierFille; TDataFille(TData * data) { this->entierData = data->entierData; // ok this->type = new TType(); // comment dupliquer proprement, c'est à dire que la copie se fasse aussi au niveau de la classe fille instanciée??? } };
Je voudrais que a soit une parfaite copie de typeA, c'est à dire que l'attribut entierA vale 8 et que chaine vale "toto" (ce qui n'est pas le cas bien sûr avec le code ci dessus !)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 TData * data = new TData(); TTypeA *typeA = new TTypeA(); data->type = typeA; TDataFille *fille = new TDataFille(data); et ailleurs : TTypeA * a = (TTypeA*)fille->type;
merci beaucoup pour votre aide, j'ai hâte de voir où je bloque!!
Pascale38
Partager