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.