Fonction membre template c++

Résolu/Fermé
Asterix2231 Messages postés 50 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 16 avril 2013 - 13 févr. 2010 à 13:35
Asterix2231 Messages postés 50 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 16 avril 2013 - 13 févr. 2010 à 14:08
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:

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!
A voir également:

1 réponse

Asterix2231 Messages postés 50 Date d'inscription mardi 5 février 2008 Statut Membre Dernière intervention 16 avril 2013 11
13 févr. 2010 à 14:08
Bon je vais me répondre:

après quelques recherches pas très poussées (j'avais été un peu fainéant en posant la question), ca peut visiblement se faire dans le .cpp.

Merci moi!
2