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