I et C + + program , A klassen X , hvis du opretter objektet , kan du derefter få adressen på A ved at bruge " denne" pointer. Adressen er tilgængelig som en lokal variabel i de ikke- statisk medlem funktioner i X , og dens type er const X * . Den " denne" pointer virker, fordi C + + skaber forekomster af sine data medlemmer , og det holder én kopi af hvert medlem funktion. Ting du skal
Advanced C + + skill
C + + compiler med IDE , såsom Visual Studio 2008
Vis Flere Instruktioner
1
Brug " denne" pointer til opdage placeringen af en klasse instans . Som enhver pointer, gemmer den en adresse. Medlem funktion getAddress ( ) i C + + class X returnerer adressen på en given instans af klassen X:
class X {
offentligt : Hej X * const getAddress () const {
returnere dette ,
};
2
Access medlem funktioner eller medlemsorganisationer data i en klasse medlem funktion med " dette " søgeord og " -> " operatør . Eksemplet nedenfor kan arbejde uden "this -> . " Men hvis matricen Biblioteket har en forælder klasse med samme medlemsstat navne " this- >" gør det klart, hvad der er gældende tilhører den aktuelle klasse , og ikke dets moderselskab : Hej class Matrix {
int rækker, cols ,
offentligt : Hej Matrix () : rækker ( 0), cols (0) {
this- > Init ();
}
~ Matrix (); < br > int GetRows () const {
returnere denne -> rækker ,
}
private : Hej void Init ();
};
< br > 3
undersøgelse en klasse, der har operatør overbelastning og studere brugen af denne . Følgende kodestykke viser, hvordan det kan omdefineres : Hej const X * this- > operatør ( ) {
returnere denne ,
}
< br >