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
|
class A { ... };
class B : public A { ... };
class C : public A { ... };
class D : public B { ... };
// Initialisation du tableau de pointeur sur des objets A
// Or, les autres classes dérivent de la classe mère A
// ==> On peut stocker le objets filles dans le tableau
A* tab[5];
tab[0] = new A;
tab[1] = new B;
tab[2] = new C;
tab[3] = new D;
tab[4] = new B;
Si on effectu l'opération suivante :
for(int i = 0; i < 5; i++)
{
delete tab[i]; // Appel au destructeur de A : ~A()
// Alors que si le destructeur est virtuel, on fera appel au bon destructeur de
// chaque objet.
} |
Partager