Bonjour,
Je cherche à implémenter une méthode virtuelle pure héritée (dans la classe dérivée).
Je pensais avoir bien fait les choses et pourtant, j'ai une erreur à la compulation qui m'indique que je dois implémenter la méthode pure héritée (ce que j'ai pourtant fait), voici le topo :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 class Abstract { ... virtual double function() const=0; };
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 class Derived : public Abstract { ... virtual double function() const; };L'erreur survient lorsque j'instancie une classe dérivée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #include "Derived.h" ... double Derived::function() const { // implementation }
Je comprends pas ce que j'ai fait de travers.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 m_derived = Derived(); // ERROR : must implement inherited pure virtual fucntion Abstract::function()
EDIT: je précise que la classe Abstract a d'autres fonctions virtuelles simples, mais l'erreur concerne uniquement la virtuelle pure.
EDIT : correction dans Derived.cpp : double Derived::function() const et non double function() const
Merci de votre aide.
Partager