Operateur+ c++
vincent.jerem
Messages postés
30
Statut
Membre
-
Zempachi Messages postés 7572 Statut Contributeur -
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
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
Configuration: Linux Firefox 3.0.14
1 réponse
-
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.