Implémentation d'une méthode virtuelle pure par la classe dérivée
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:
1 2 3 4 5
| class Abstract
{
...
virtual double function() const=0;
}; |
Code:
1 2 3 4 5
| class Derived : public Abstract
{
...
virtual double function() const;
}; |
Code:
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:
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.