Bonjour,

J'ai une classe abstraite A dont dérivent des classe B,C,D,E....

J'aurais envie de surcharger les opérateurs + * - / pour ces classes, mais sans écrire 36 fois la même chose.

typiquement je sais que le type de sortie de + ou - est toujours B, et * ou / est toujours C, j'ai donc fait un truc dans ce style :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
C operator *(A N1, 1 N2)
{
	return C(&N1,&N2);
}
Et là le compilateur me dit que je n'ai pas le droit d'avoir N1 et N2 de type A car A a des fonctions virtuelles pures.

Alors je suis un peu perplexe, il y a-t-il une solution ?

Peut-être avec des templates mais je ne suis pas convaincu.

Si quelqu'un peut me renseigner, je suis preneur.

Merci
--
Z.