Bonjour,
J'ai une classe abstraite:
avec donc une méthode virtuelle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 class Element { public: virtual bool operator>(const Element &elt)=0; };
Mon problème est de savoir comment implémenter cette méthode:
Ici j'aimerai faire une implémentation de l'opérateur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); };
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 bool Mot::operator>(const Element &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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 bool Mot::operator>(const Mot &elt) { return getMot()>elt.getMot(); }
Donc voilà, comment je fais?
Partager