begin process at 2012 05 30 09:08:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

A quoi sert THIS svp .... exactement


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

A quoi sert THIS svp .... exactement

vendredi 25 avril 2003 à 16:00:47 | A quoi sert THIS svp .... exactement

ilyatout

Bonjour,

Etant en école d'ingénieur et apprenant le C++ en ce moment, mon cours est assez mal fait sur le cas du pointeur THIS en C++.

Je voulais savoir si c'est la meme chose que l'adresse d'une instance d'une classe, exemple :

class OBJET{
...
};

OBJET o1;

Est-ce que &o1 vaut la meme chose que this.o1 ??

En fait j'aimerais une petite explication dessus, je vous en serez très reconnaissant !!

Merci
vendredi 25 avril 2003 à 17:22:46 | Re : A quoi sert THIS svp .... exactement

bouba

Salut,
*this fait référence à l'objet pour lequel une fonction membre a été appelé.
this est un pointeur sur l'objet pour lequel elle a été appelé.
Le fait de faire &o1 a un sens mais this.o1 n'en a pas!!
Tu ne peu utiliser this qu'a l'intérieur d'une fonction membre.
Par exemple.
class A { void func(); void fonction();};

void A::func(){fonction()};
équivaut à
void A::func(){this->fonction()};
C'est à dire que l'on fé un appel de fonction() sur l'objet pour lequel func() a été appelé.
Tout les membres d'une classe peuvent donc être appelé dans les fonction de celle ci de cette façon
this->SonMembre ou this->SaFonction. Mais ceci n'a souvent pas d'utilité, c'est implicite en générale.
Voila, j'espère avoir été assez clair.
Alé. A+.
Boub





-------------------------------
Réponse au message :
-------------------------------

> Bonjour,
>
> Etant en école d'ingénieur et apprenant le C++ en ce moment, mon cours est assez mal fait sur le cas du pointeur THIS en C++.
>
> Je voulais savoir si c'est la meme chose que l'adresse d'une instance d'une classe, exemple :
>
> class OBJET{
> ...
> };
>
> OBJET o1;
>
> Est-ce que &o1 vaut la meme chose que this.o1 ??
>
> En fait j'aimerais une petite explication dessus, je vous en serez très reconnaissant !!
>
> Merci
vendredi 25 avril 2003 à 17:32:02 | Re : A quoi sert THIS svp .... exactement

payen

tu dois te servir du mot cle this qd tu as besoin d'utiliser dans une fonction membre l'objet qui contient cette methode. this permet donc d'acceder dans une methode a un pointeur sur l'objet manipule.

en plus clair : si une methode de ta classe prend comme param un objet de cette meme classe et que tu est deja dans une methode de la classe, tu lui passes comme param this:

void Cmachin::GET_Taille(Cmachin *objet)
{
cout <<"Taille memoire de l'objet:" << objet->Taille << endl;
}

void Cmachin::Test()
{
// Pour appeler la methode GET_Taille, tu n'as que ce moyen:
GET_Taille(this);
}

voila
j'espere que c'est suffisament clair ...

-------------------------------
Réponse au message :
-------------------------------

> Bonjour,
>
> Etant en école d'ingénieur et apprenant le C++ en ce moment, mon cours est assez mal fait sur le cas du pointeur THIS en C++.
>
> Je voulais savoir si c'est la meme chose que l'adresse d'une instance d'une classe, exemple :
>
> class OBJET{
> ...
> };
>
> OBJET o1;
>
> Est-ce que &o1 vaut la meme chose que this.o1 ??
>
> En fait j'aimerais une petite explication dessus, je vous en serez très reconnaissant !!
>
> Merci
vendredi 25 avril 2003 à 17:34:07 | Re : A quoi sert THIS svp .... exactement

payen

j'ai l'impression d'avoir ecrit la meme chose que bouba! sorry ...
au fait, qd tu utilises this, tu oublies le "." et tu le remplaces par "->"



-------------------------------
Réponse au message :
-------------------------------

> tu dois te servir du mot cle this qd tu as besoin d'utiliser dans une fonction membre l'objet qui contient cette methode. this permet donc d'acceder dans une methode a un pointeur sur l'objet manipule.
>
> en plus clair : si une methode de ta classe prend comme param un objet de cette meme classe et que tu est deja dans une methode de la classe, tu lui passes comme param this:
>
> void Cmachin::GET_Taille(Cmachin *objet)
> {
> cout <<"Taille memoire de l'objet:" << objet->Taille << endl;
> }
>
> void Cmachin::Test()
> {
> // Pour appeler la methode GET_Taille, tu n'as que ce moyen:
> GET_Taille(this);
> }
>
> voila
> j'espere que c'est suffisament clair ...
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Bonjour,
> >
> > Etant en école d'ingénieur et apprenant le C++ en ce moment, mon cours est assez mal fait sur le cas du pointeur THIS en C++.
> >
> > Je voulais savoir si c'est la meme chose que l'adresse d'une instance d'une classe, exemple :
> >
> > class OBJET{
> > ...
> > };
> >
> > OBJET o1;
> >
> > Est-ce que &o1 vaut la meme chose que this.o1 ??
> >
> > En fait j'aimerais une petite explication dessus, je vous en serez très reconnaissant !!
> >
> > Merci
>


Cette discussion est classée dans : objet, chose, sert, exactement, o1


Répondre à ce message

Sujets en rapport avec ce message

liste contenant un objet d'une de mes classes [ par Eric ] Salut,Je voudrais créer une liste contenant comme objet une de mes classes..par exemplelist ma_Liste_de_ma_Classe;mais je ne sais pas comment m'y pre insérer un objet 3dsmax dans une fenètre opengl [ par CyraX ] Salut !! voila, je viens de programmer un petit moteur 3d en opengl 'nefin, rie d'exceptionnel..).Mais maintenant, je voudrais savoir comment je dois Creer un objet apres compilation en Borland c++ BUilder [ par lnvincible ] J'aimerais savoir la commande qui permet de creer un objet apres la compilation c'est a dire on clique sur un bouton et y'en a un deuxieme qui se cree déplacement d'un objet [ par dim ] je voudrais déplacer un objet d'un tableau et récupererla case du tableau sur laquelle il aura laché.comment puis je faire?merci pour votre aide déplacement d'un objet en c [ par dim ] je voudrais déplacer un objet d'un tableau et récupererla case du tableau sur laquelle il aura laché.comment puis je faire?merci pour votre aide Organigrammes et MFC [ par jpeg ] Voilà, je suis en train de programmer une appli dont le contenu du document doit être représenté sous forme d'organigramme (pas celle d'un arbre). Cel GetWindowText [ par Toobad ] J'utilise GetWindowText avec VC++6 pour reprendre le texte d'une edit box. Lorsque mon prog appel la function il fait une erreur dans le module USER.E [Allegro] Animation d'objets [ par GoldenEye ] La situation est simpleOn est en true color (Allegro)J'ai un décor de fond statique (BITMAP *decor)J'ai un petit objet mobile (BITMAP *objet)Le petit Probleme de Débutant [ par Dorgendubal ] Hello à tous,j'ai déjà programmé en C++ et même avec des envirronements graphiques (comme QT sous linux) mais jamais avec Visual C++.Alors j'ai un pro position d'un control [ par Xs ] salut !!comment on peut récuperer la position X,Y d'un objet et sa taille (longueur, largeur);j'entend en fait par objet, un bouton.merci


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,529 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales