C++: instance courante

gaby10 Messages postés 445 Date d'inscription   Statut Membre Dernière intervention   -  
gaby10 Messages postés 445 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour á la communauté CCM.
j'ai besoin d'aide. En fait je fais du c++ et il y a cette notion de l'
instance courante  ->this 
que je ne comprend pas tres bien. On ecrit quelque part que
this 
vaut le pointeur sur l'instance courante. D'abord cé quoi instance courante?
Supposons gerer une liste chainee; comment peut -on utiliser cette notion de this pour la mise en oeuvre.
merci de votre bonne comprehension.

4 réponses

sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
cela signfie qu'on a cree un instance de la classe point, vrai.

Tout à fait.


Imagine que tu as créé une méthode incrementeX():

class point{
                      private:
                                   int x;int y;
                       public:
                            .....
                            void init(int,int);
                            void incrementeX()
                              {
                                   this.x += 1;
                              }
                            .....

                                 }


La méthode incrementeX() fait partie de la classe point.

Pour accéder à ses propres attributs et méthodes, l'objet utilise this.

This = référence à soi-même (pour un objet).
1
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
Déjà, est-ce que tu as bien assimulé la différence entre une classe et un objet ?

A partir d'une classe, on peut créer plusieurs objets (plusieurs instances de cette classe).


Dans les méthodes de la classe, this est l'objet courant.
0
gaby10 Messages postés 445 Date d'inscription   Statut Membre Dernière intervention   58
 
Je pense que j'ai bien saisi la difference entre Class et objet de la classe. Supposons la declaration suivante d'un point:
class point{
                      private:
                                   int x;int y;
                       public:
                            .....
                            void init(int,int);
                            .....
                                 }


Lorsque dans le main() on fait ceci
point a;


cela signfie qu'on a cree un instance de la classe point, vrai.
Lorsque vous dites Dans les méthodes de la classe, this est l'objet courantje ne comprend toujours pas.En effet comment utiliser this avec la declaration ci haut
0
gaby10 Messages postés 445 Date d'inscription   Statut Membre Dernière intervention   58
 
Pour accéder à ses propres attributs et méthodes, l'objet utilise this

Je commence á comprendre
Merci
0