I ett C + + -program , om du skapar objekt A i klass X , kan du få då adressen till A genom att använda " detta " pekare . Adressen är tillgänglig som en lokal variabel i de icke - statiska medlemsfunktioner för X , och dess typ är const X * . Den " detta " pekare fungerar eftersom C + + skapar instanser av sina data medlemmar , och det håller en kopia av varje medlem funktion . Saker du behöver Review, Advanced C + + skill
C + + kompilator med IDE , såsom Visual Studio 2008
Visa fler instruktioner
1
Använd " detta " pekare till upptäcka var en klass instans . Liksom alla pekare , lagrar den en adress . Medlem funktion getAddress ( ) i C + + class X returnerar adressen för en viss instans av klassen X :
class X {
allmänheten :
X * const getAddress ( ) const {
returnera denna ,
};
2
Tillgång medlemsfunktioner eller data medlemsländer inuti en gruppmedlem funktion med " detta " sökord och " - > " operatör . Exemplet nedan kan arbeta utan att " här - > . " Men om matrisen biblioteket har en förälder klass med samma medlemmars namn , " här - > " gör det klart att det som åberopas tillhör den aktuella klassen , och inte dess moderbolag :
class Matrix {
int rader, kol ,
allmänheten :
Matrix ( ) : rader ( 0 ) , kol ( 0 ) {
här - > Init ();
}
~ Matrix ( ) ;
int GetRows ( ) const {
returnera this-> rader ,
}
privat :
void init ();
};
3
studera en klass som har operatoröverlagring och studera användningen av detta . Följande kodavsnitt visar hur det kan omdefinieras :
const X * här - > operatör ( ) {
returnera denna ,
} Addera ditt