Operateur+ c++

vincent.jerem Messages postés 29 Date d'inscription   Statut Membre Dernière intervention   -  
Zempachi Messages postés 7472 Date d'inscription   Statut Contributeur Dernière intervention   -
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 7472 Date d'inscription   Statut Contributeur Dernière intervention   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