Fonction membre template c++
Résolu
Bonjour,
Dans une classe Vecteur que je définis, j'aimerais surcharger l'opérateur *= pour multiplier mon Vecteur courant par un scalaire, au sens mathématique des termes vecteur et scalaire.
Ce que j'aimerais en plus c'est que ce scalaire puisse être de type double, long, int ou float, ce qui m'a conduit aux fonctions template.
Ma question est: comme j'ai l'intention d'écrire la surcharge de l'opérateur *= comme une fonction membre template de ma classe Vecteur, où est ce que je dois l'implémenter: à la fin du fichier vecteur.h ou bien dans le fichier vecteur.cpp associé?
Un bout de mon code:
Merci!
Dans une classe Vecteur que je définis, j'aimerais surcharger l'opérateur *= pour multiplier mon Vecteur courant par un scalaire, au sens mathématique des termes vecteur et scalaire.
Ce que j'aimerais en plus c'est que ce scalaire puisse être de type double, long, int ou float, ce qui m'a conduit aux fonctions template.
Ma question est: comme j'ai l'intention d'écrire la surcharge de l'opérateur *= comme une fonction membre template de ma classe Vecteur, où est ce que je dois l'implémenter: à la fin du fichier vecteur.h ou bien dans le fichier vecteur.cpp associé?
Un bout de mon code:
class Vecteur{
public:
double x, y, z;
Vecteur(double X, double Y, double Z) : x(X), y(Y), z(Z);
template <typename Scalaire>
Vecteur& operator*=(const Scalaire& S);
};
Merci!
Configuration: Windows 7 Firefox 3.5.7