Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> C /C + + Programming >> .

Come usare il puntatore this in C + +

In un programma C + + , se si crea un oggetto di classe X , si può quindi ottenere l'indirizzo di A utilizzando il puntatore "this" . L' indirizzo è disponibile come variabile locale nelle funzioni membro non statiche di X , e il suo tipo è const X * . Il puntatore "this" funziona perché C + + crea istanze dei suoi membri dati , e mantiene una copia di ogni funzione membro . Cose che ti serviranno
Avanzata C + + Commercio abilità compilatore C + con IDE come Visual Studio 2008
Mostra + Più Istruzioni
1

Utilizzare il puntatore "this" per scoprire l'ubicazione di una istanza di classe . Come ogni puntatore, esso memorizza un indirizzo. Funzione membro GetAddress ( ) della classe C + + X restituisce l'indirizzo di una determinata istanza di classe X :
class X {
pubblico :
X * const GetAddress ( ) const {
Torna questa ,
};
2

funzioni membro di accesso o dati utente all'interno di una funzione membro della classe con il " presente ", parola chiave e il " - > " operatore . L'esempio che segue può funzionare senza " this-> ". Ma se la libreria matrice ha una classe genitore con gli stessi nomi dei membri , " this-> " rende chiaro che ciò che viene invocato appartiene alla classe corrente , e non il suo genitore :
classe Matrix {
righe , int cols ;
pubblico :
Matrix ( ) : righe ( 0 ) , cols ( 0 ) {
this-> init () ; }

~ Matrix ( ) ;
int GetRows ( ) const {
Torna this-> righe ;
}
privato :
vuoto Init (); }
;

3

studiare una classe che ha l'overloading degli operatori e studiare l'utilizzo di questo . Il seguente frammento di codice dimostra come si può essere ridefinito :
const X * this-> operatore ( ) {
restituire questo ;
}


 

Programmazione © www.354353.com