Produit du jour : Microsoft Office 2007 Famille et étudiant à partir de 79.00 € (Logiciel)
23/11/2006 08:52 par Marc G | 17 réponse(s) | Signaler un contenu abusif ou erroné
Mon compilateur m'oblige à redéfinir l'opérateur virtuel = dans les classes
dérivées. Est-ce normal ?
Par contre, pour les autres opérateurs virtuels, ça passe très bien (ex :
operator +=())
L'imbrication de mes classes est un peu compliquée, mais j'ai
schématiquement :

Dans la classe de base
virtual CVariant& operator=(CVariant const& right) { /* */ return *this; }

Dans certaines classes dérivées, cette définition me va très bien, mais le
compilateur me dit que operator= n'est pas définit.
Un copier/coller de la définition de la classe de base et ça marche.
Mais pour operator+=, qui modifie lui aussi l'objet, ça marche. Et là je
vois pas pourquoi dans un cas et pas dans l'autre ...
Il y a une "règle" là dessus ?
Marc
Voir les 17 réponses - Poster une réponseCe sujet ne répond pas à vos besoins ? Posez votre question !
mots-clés : operateurs, virtuels Catégories : Développement, Langage C++
 
Comment faire ?
Convertir une chaine de X ...
 

 

Téléchargements

Tous les téléchargements