Dans un programme C + + , si vous créez un objet de classe X , vous pouvez obtenir l'adresse d'un en utilisant le pointeur «this» . L'adresse est disponible comme une variable locale dans les fonctions membres non statiques de X, et son type est const X * . Le pointeur «this» fonctionne parce que C + + crée des instances de ses membres de données, et il conserve une copie de chaque fonction de membre. Choses que vous devez
avancée C + + compétences
compilateur C + + avec l'IDE , tels que Visual Studio 2008
Afficher plus Instructions
1
Utilisez le pointeur «this» à découvrir l'emplacement d'une instance de classe. Comme tout indicateur , il stocke une adresse. Fonction de membre GetAddress () de classe C + + X renvoie l'adresse d'une instance donnée de la classe X : class X {
publique :
X * const GetAddress () const {
retourner ce ;
};
2
les fonctions de membre d'accès ou de données de membres dans une fonction de membre de la classe avec le " ce " mot-clé et le "->" opérateur. L'exemple ci-dessous peut fonctionner sans " this-> ». Mais si la bibliothèque matrice a une classe parente avec les mêmes noms de membres, " this-> " indique clairement que ce qui est appelé appartient à la classe actuelle , et non sa mère : classe Matrice {
rangées int , cols ;
publique :
Matrix () : lignes ( 0) , cols ( 0) {
this-> Init (); }
~ Matrix () ; < br > int GetRows () const {
revenir this-> rangées ;
}
privé :
vide Init () ; }
;
< br > 3
étudier une classe qui a la surcharge d'opérateur et d'étudier l'utilisation de ce . L'extrait de code suivant montre comment il peut être redéfini : const X * this-> opérateur () {
retourner ce ,
}