J'ai un petit souci au niveau de la surcharge des opérateurs binaires...
Je les définis en dehors de la classe de la manière suivante :
template <typename U,typename V>
claNetVar<int> operator+(const claNetVar<U> &c1, const claNetVar<V> &c2)
{
claNetVar<char> result = c1.getValue()+c2.getValue();
return result;
}
Mais j'aimerais bien renvoyer le type réel résultant de l'opération, donc :
float+int=float
int+int=int
Je présume que le seul moyen est de surcharger l'opérateur + pour chaque type qu'on lui envoie? donc :
claNetVar<int> operator+(const claNetVar<int> &c1, const claNetVar<int> &c2)
claNetVar<float> operator+(const claNetVar<float> &c1, const claNetVar<int> &c2)
claNetVar<float> operator+(const claNetVar<int> &c1, const claNetVar<float> &c2)
...
Assez lourd quoi
Message édité par pegasus32 le 01-09-2006 à 08:07:01