Gestion de la recopie des objets
Recopie
Dans la classe CharSequence
, écrire une méthode debug()
qui affiche l’attribut _data
.
Ecrire le main suivant :
int main (){ // 1
CharSequence s1 ("sample string"); // 2
CharSequence s2 ( s1 ); // 3
CharSequence s3 = s1 ; // 4
s1.debug ();
s2.debug ();
s3.debug ();
}
Observer attentivement les affichages produits par l’exécution. Qu’en déduisez-vous sur les instanciations faites en ligne 3 et ligne 4 ? Utiliser valgrind
pour vérifier la libération.
Tracer les adresses des attributs des objets en utilisant gdb
.
Constructeur par copie
Ajouter un constructeur par recopie dans la classe CharSequence
, c’est à dire un constructeur prenant en argument une instance de CharSequence
.