Appel d'une fonction virtuelle pure depuis un destructeurs
J'ai un petit problème de POO avec C++.
Voilà le souci :
-j'ai une classe mère abstraite qui défini son destructeur et une méthode abstraite
-et une classe fille qui redéfini la méthode virtuelle pure
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| class Mother {
~Mother();
virtual string getName() = 0;
}
Mother::~Mother(){
cout << "deleting " << this-getName() << endl;
}
class Daughter : public Mother {
virtual string getName(){"the daughter";};
} |
L'idée serait que la mère puisse appeler la méthode getname de la fille à sa destruction afin d'afficher "deleting the daughter"
Evidemment ca marche pas, le compilateur râle.
La solution pourrait être d'utiliser une variable protected "string name" mais je ne préfererais pas. Y aurais-t-il une solution alternative ?
Merci.