Salut,

J'ai créé une classe de vecteur template suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
template <class type = int>
class Vecteur3D
{
    private:
 
        type x;
        type y;
        type z;
 
    public:
 
        Vecteur3D();
        Vecteur3D( type x_ini , type y_ini , type z_ini );
 
        Vecteur3D<type>& operator =(const Vecteur3D&);
 
        Vecteur3D<type> operator +(const Vecteur3D&);
};
Je surcharge donc les opérateurs "+" et "=" avec le code suivant :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
template <class type>
Vecteur3D<type>& Vecteur3D<type>::operator =(const Vecteur3D &vecteur)
{
	x = vecteur.x;
	y = vecteur.y;
	z = vecteur.z;
 
    return *this;
}
 
 
 
template <class type>
Vecteur3D<type> Vecteur3D<type>::operator +(const Vecteur3D &vecteur)
{
    Vecteur3D resultat;
 
    resultat.x = x + vecteur.x;
    resultat.y = y + vecteur.y;
    resultat.z = z + vecteur.z;
 
    return resultat;
}


Tout marche bien cependant je vais être amené à utiliser souvent ces opérateurs c'est pourquoi je voudrais savoir si selon vous il est possible de faire ces surcharges de telle manière que ce soit plus performant?

merci d'avance