Problème de débutant en C++

Fermé
waouu Messages postés 11 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 27 août 2009 - 27 août 2009 à 10:38
waouu Messages postés 11 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 27 août 2009 - 27 août 2009 à 11:10
Bonjour à tous,

j'ai un petit souci que j'ai un peu du mal à comprendre, mais je suis débutant en C++ alors soyez indulgents ;)

voilà mon souci :

je définis une classe comme suit

class Tableau{

public :
...
Tableau operator+(Tableau &tab);
Tableau operator=(Tableau &tab);

private:
int m_longueur;
int *m_table;

};


Tableau Tableau::operator+(Tableau &tab){

// concatène bout à bout deux tableaux
return *this;
}

Tableau Tableau::operator=(Tableau &tab){

// crée un tableau égal au tableau passé en référence
return *this;
}
}


main(){
Tableau tab1;
Tableau tab2
Tableau tab3;

tab3 = tab1 + tab2; // cette ligne pose un problème

cout<<tab1 ;
cout<<tab2 ;
cout<<tab3 ;
}

et là j'ai une grosse erreur à l'éxécution et en débuggant je vois qu'on a appelé le destructeur pour détruire tab1 et je ne comprends pas pourquoi???

Je vous remercie d'avance pour votre précieuse aide :)

2 réponses

arsene78220 Messages postés 9 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 31 août 2009
27 août 2009 à 11:06
Salut,
Perso je suis aussi débutant en C++ mais souvent les tableaux c'est des problèmes d'adressage. Essaye en mettant un "&" devant tes tabs...
0
waouu Messages postés 11 Date d'inscription samedi 6 mai 2006 Statut Membre Dernière intervention 27 août 2009
27 août 2009 à 11:10
Bonjour arsene78220,

merci pour ta réponse, en fait j'ai réussi à résoudre le poblème, mais j'aimerais comprendre ce qui cloche ;)

Je l'ai résolu en retournant dans mes fonctions des références :)

Tableau &Tableau::operator=(Tableau &tab);
Tableau &Tableau::operator+(Tableau &tab);

Merci quand même pour ta participation, si quelqu'un a une réponse à mon questionnement ce serait super :)
0