Bonjour à tous!
Voici un problème clair: la classe LPT, et sa fille HR sont dans mon programme.
Constructeur de LPT:
Constructeur de HR:
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(); }
Le problème c'est que ma fonction membre setImageReferenceIR() est très différente dans ces deux classes.
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; }
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!![]()
Partager