Operateur+ c++

vincent.jerem Messages postés 30 Statut Membre -  
Zempachi Messages postés 7572 Statut Contributeur -
Bonjour,
Voilà je rencontre un problème lorsque je redéfinis l'opérateur+ pour deux vecteurs.
Par exemple pour l'addition de 2 vecteurs :

v3 = v1 + v2, il ne me renvoie que la valeur de v1.
Et inversement, lorsque je fais v3 = v2 + v1, il ne me renvoie que la valeur de v2.
Voila le code de l'opérateur +:

vecteur& vecteur::operator+(const vecteur& vect){

for(int i=0;i<taille;i++){
tab[i]+vect.tab[i];
}
return *this;
}

et l'opérateur = :

void vecteur::operator=(vecteur vect){
taille=vect.taille;
for (int i=0; i<taille; i++){
tab[i]=vect.tab[i];
}
}

Merci pour votre aide

1 réponse

Zempachi Messages postés 7572 Statut Contributeur 906
 
Salut,
il nous faudrait la classe vecteur pour t'aider plus efficacement.
Sinon dans l'absolu, il est fortement conseillé de faire un constructeur de recopie, surtout quand on veut s'amuser avec l'opérateur =.
Pour la surcharge d'opérateur, la principale problématique est de créer les zones mémoires (== pointeur) pour la nouvelle instance.

0