Méthodes virtuelle et implémentation
Bonjour,
J'ai une classe abstraite:
Code:
1 2 3 4 5
| class Element
{
public:
virtual bool operator>(const Element &elt)=0;
}; |
avec donc une méthode virtuelle.
Mon problème est de savoir comment implémenter cette méthode:
Code:
1 2 3 4 5 6 7 8 9
| class Mot:Element
{
private:
string mot;
public:
string getMot();
//Retourne le mot
bool operator>(const Element &elt);
}; |
Ici j'aimerai faire une implémentation de l'opérateur:
Code:
1 2 3 4
| bool Mot::operator>(const Element &elt)
{
return getMot()>elt.getMot();
} |
Or Element ne possède pas l'opérateur >(qui est virtuel), seul la classe Mot la possède. Or si j'essaie d'implémenter comme ceci:
Code:
1 2 3 4
| bool Mot::operator>(const Mot &elt)
{
return getMot()>elt.getMot();
} |
Le compilo me dit bien sûr que l'opérateur > n'a pas été implémenté et que Mot est par conséquent une classe abstraite
Donc voilà, comment je fais?