I et C + + program , hvis du oppretter objekt En av klasse X , kan du få tak i adressen til A ved å bruke " denne " pekeren . Adressen er tilgjengelig som en lokal variabel i de ikke- statiske medlem funksjoner av X , og den typen er konst X * . Den "dette" pekeren fungerer fordi C + + skaper forekomster av sine data medlemmer , og det holder ett eksemplar av hvert medlem funksjon. Du trenger
Advanced C + + ferdighet
C + + kompilator med IDE, for eksempel Visual Studio 2008
Vis flere instruksjoner
en
Bruk "dette" pekeren til oppdage plasseringen av en klasse eksempel. Som enhver pekeren , lagrer den en adresse. Medlem funksjon getAddress ( ) i C + + klasse X returnerer adressen til en gitt forekomst av klasse X : en klasse X {
public : en X * const getAddress ( ) const {
returnere dette ;
};
2
Tilgang medlem funksjoner eller medlemmer data inne i en klasse medlem funksjon med " dette " søkeord og " - >" operatør. Eksempelet nedenfor kan arbeide uten " dette - > . " Men hvis matrisen biblioteket har en forelder klasse med de samme medlemsnavn , " dette - >" gjør det klart at det som er påberopt tilhører den aktuelle klassen , og ikke dets moderselskap :
klasse Matrix {
int rader, kolonner ,
offentlige : en Matrix ( ) : rader ( 0 ) , kolonnene ( 0 ) {
this-> Init ( );
} product: ~ Matrix ();
int GetRows ( ) const {
returnere denne- > rader ,
}
private:
void Init ();
};
3
Studer en klasse som har operatør overbelastning og studere bruken av dette. Følgende kodebit demonstrerer hvordan det kan omdefineres :
const X * this-> operator ( ) {
returnere dette ;
}