Bonjour à tous,
Ca fait un baille que je n'utilise plus C++ et il y a un point tout bête qui me chagrine.
Si j'ai la méthode suivant :
que j'appelle ailleurs de la façon suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 MonObjet MaClasse::methode() { MonObjet mo; return mo; }
Vous allez tous me dire que ce n'est pas bien du tout car l'objet mo dans la méthode "methode" est local à la méthode et donc va être détruit et qu'il faudrait passer un pointeur ou une référence.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 MonObjet a; MaClasse mc; a = mc.methode();
Mais je m'interroge sur le fait que puisque le compilateur crée un opérateur d'affectation par défaut qui copie les valeurs membres à membres, est-ce l'objet "a" a reçu les valeurs des membres de l'objet "mo" ?
Merci.
Partager