Objets instanci�s dans une classem�re et fille
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:
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 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() {};
}; |
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.
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! :P