Bonsoir � toutes et � tous,
J'ai un petit probl�me d'architecture, sans doute tr�s simple � r�soudre: j'ai une classe m�re et une classe fille et chacune d'elles instancient un objet.
Mais ces objets diff�rent suivant que ce soit la classe m�re ou la classe fille qui les instancie, exemple:
Je n'ai pas d�taill� plus, mais des fonctions sont pr�sentes dans Autre_Base et Autre_derived qui effectuent des calculs similaires mais avec des diff�rences fondamentales.
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
40
41
42
43
44
45
46
47
48
49 //**************** Base Class **************** class Base { public: Base(int a1, int a2, int a3) :a{a1}, b{a2}, c{a3} { L = new Autre_Base(a1, a2); }; ~Base() { delete L; }; protected: int a, b, c; private: Autre_Base * L; }; //**************** Derived Class **************** class Derived: public Base{ public: Derived(int a1, int a2, int a3) :Base(a1, a2, a3) { L = new Autre_Derived(a1, a3); }; ~Base() {}; private: Autre_derived * L; }; //**************** Autre_Base Class **************** class Autre_Base { public: Autre_Base(int a1, int b1) :a{a1}, b{b1} {}; ~Autre_Base() {}; protected: int a, b; }; //**************** Autre_Derived Class **************** class Autre_Derived: public Autre_Base { public: Autre_Derived(int a1, int b1) :Autre_Base(a1, b1) {}; ~Autre_Derived() {}; };
D'autre part, si j'appelle le constructeur de 'Derived' qui appelle celui de la 'Base', l'objet 'L' est instanci� 2 fois (une fois dans la Base et une fois dans la Derived)
Comment arranger cette structure (dois-je passer par une classe pure virtuelle?). Sachant que cette structure est l�g�re mais instanci�e intensivement (de l'ordre de 10^11 ou 10^12 fois environ).
Merci beaucoup pour vos conseils �clair�s!![]()
Partager