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;
};
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
#include "Derived.h"
...
double Derived::function() const
{
// implementation
}
L'erreur survient lorsque j'instancie une classe dérivée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
m_derived  = Derived();
// ERROR : must implement inherited pure virtual fucntion Abstract::function()
Je comprends pas ce que j'ai fait de travers.

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.