Bonjour à tous!
Voici un problème clair: la classe LPT, et sa fille HR sont dans mon programme.

Constructeur de LPT:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
LPT::LPT(Choc &c, std::string nom_cfp)
:CFP(c, nom_cfp)
{
	std::cout << "LPT cree :" <<nom_cfp <<std::endl;

	setImageReferenceIR();
}
Constructeur de HR:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
HR::HR(Choc & c, std::string nom_cfp)
:LPT(c, nom_cfp)
{
	std::cout<< "Creation d'un objet HR" <<std::endl;
 
}
Le problème c'est que ma fonction membre setImageReferenceIR() est très différente dans ces deux classes.
J'aimerai donc appelé toujours la bonne fonction = polymorphisme !

Ma question est donc: Etant donné que j'ai déclaré cette fontion setImageReferenceIR() comme virtuelle dans ces deux classes, comment se fait-il que rendu à la ligne rouge dans l'éxécution du programme (constructeur de HR), il appelle la fonction membre de CFP et pas de HR ?


Merci d'avance!