Heritage et méthode virtuelle dans constructeur
Bonjour à tous,
Je bloque sur un problème de conception pour appeler une méthode virtuelle depuis un constructeur. Voici mon cas de figure :
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
|
class mere:
{
public:
mere()
{
display();
}
virtual void display()
{
cout<<"mere::display()"<<endl;
}
}
class fille: public mere
{
public:
fille():mere()
{
}
void display()
{
cout<<"fille::display()"<<endl;
}
} |
J'ai plusieurs filles et dans certaines la méthode display() est redéfinit.
Cependant c'est toujours la méthode mere::display() qui est appelée.
Une solution (lourde) serait d'appeler this->display() dans chaque constructeur fille mais n'y a-t-il pas quelquechose de plus propre ?
merci par avance.