Tp5_q1_comportement bizarre :|

Programmation Avancée

Modérateur : Douin

Amokrane
Messages : 18
Inscription : 08 oct. 2018 22:19

Tp5_q1_comportement bizarre :|

Message par Amokrane » 10 nov. 2018 2:45

Bonjour,

en faisant la question 1 du tp 5 et en essayant de stocker l'ensemble courant dans un nouveau ensemble, j'ai rencontré un beug en utilisant ce code :

Code : Tout sélectionner

        Ensemble<T> ensemble = new Ensemble<T>();
        ensemble = this;
en fait, à chaque fois le contenu de l'ensemble courant est modifié après avoir exécuté les méthodes union, intersection....
en testant les lignes suivantes tout est résolu !

Code : Tout sélectionner

        Ensemble<T> ensemble = new Ensemble<T>();
        ensemble.addAll(this);
seulement je ne vois pas trop la différence !

Douin
Messages : 366
Inscription : 18 mars 2009 15:46

Re: Tp5_q1_comportement bizarre :|

Message par Douin » 10 nov. 2018 11:13

Bonjour,

Allez à la diapositive 23 du cours 2, le schéma devrait vous aider, du coup le bizarre ne sera plus

Bonne affectation

Amokrane
Messages : 18
Inscription : 08 oct. 2018 22:19

Re: Tp5_q1_comportement bizarre :|

Message par Amokrane » 11 nov. 2018 1:05

Bonjour,

je vois maintenant la différence...

merci pour votre réponse.

avidal
Messages : 3
Inscription : 02 oct. 2018 5:13

Re: Tp5_q1_comportement bizarre :|

Message par avidal » 11 nov. 2018 1:43

Bonsoir,

Dans le premier cas :

Code : Tout sélectionner

        Ensemble<T> ensemble = new Ensemble<T>();
        ensemble = this; // l'adresse mémoire d'ensemble est modifiée par celle de l'objet courant
ensemble pointe vers exactement le même objet (dans la mémoire), on peut dire que c'est juste un alias.

Alors quand dans le second cas, il s'agit d'un objet à part entière dans lequel on ajoute le contenu de l'objet courant.

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité