sakjimh
Messages postés13Date d'inscriptionjeudi 9 mars 2006StatutMembreDernière intervention31 décembre 2007
-
29 déc. 2007 à 23:16
sakjimh
Messages postés13Date d'inscriptionjeudi 9 mars 2006StatutMembreDernière intervention31 décembre 2007
-
31 déc. 2007 à 23:40
salut,
j'ai creer une classe "personne" (voir si dessous) et une methode qui permute deux personne mais le resultat reste incorrecte malgré que j'ai bien mis un passage par parametre pouvez vous m'expliquer le probleme
merci;
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 29 déc. 2007 à 23:39
aux=x;
appel au constructeur de copie.
nom et prenom de aux pointe sur le nom et prenom de x
*this=aux;
appel au constructeur de copie. Les pointeurs de ta classe pointe maintenant à la même place que ceux de aux, c'est à dire, sur les zones mémoire de x.
}
appel du destructeur.
On supprime la mémoire des pointeur nom et prenom de aux. Ce sont les zones mémoire de x et ceux sur lesquels pointe les pointeur de ta classe aussi.
Résultat, ta classe plus x ne pointe sur plus rien de valide.
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 31 déc. 2007 à 10:02
Pour ma part j'aurai surcharger l'opérateur "=" puis dans le main je me serai déclaré une variable "Personne * temp = new Personne();" qui m'aurait permis de faire la permutation.
Shell
Vous n’avez pas trouvé la réponse que vous recherchez ?