En un programa en C + + , si crea un objeto de clase X , puede obtener la dirección de A utilizando el puntero "this" . La dirección se encuentra disponible como una variable local en la función miembro no estático de X, y su tipo es const X * . El puntero "this" funciona porque C + + crea instancias de sus miembros de datos , y se mantiene una copia de cada función de miembro . Cosas que necesitará
Advanced C + + habilidad
compilador C + + con el IDE , como Visual Studio 2008
Mostrar más instrucciones
1
Utilice el puntero "this" para descubrir la ubicación de una instancia de clase . Al igual que cualquier puntero , almacena una dirección. La función asociada GetAddress () de C + + clase X devuelve la dirección de una determinada instancia de la clase X :
class X {
público :
X * const GetAddress ( ) const {
devuelva este ;
} ;
2
funciones miembro de acceso o datos de miembros dentro de una función miembro de la clase con la palabra "this" y " -> " operador. El siguiente ejemplo puede funcionar sin " this-> . " Pero si la biblioteca matriz tiene una clase padre con los mismos nombres de los miembros , " this-> " deja claro que lo que se invoca pertenece a la clase actual , y no su padre :
clase Matrix {
int filas , columnas ,
público :
Matrix () : filas ( 0 ) , cols ( 0 ) {
this-> init () ; }
IMVU: ~ Matrix ();
int GetRows ( ) const {
volver this-> filas ;
}
privada :
void Init (); }
;
< br > 3
estudiar una clase que tiene la sobrecarga de operadores y estudiar el uso de este . El siguiente fragmento de código muestra cómo puede ser redefinido :
const X * this-> operador () {
devuelva este ;
}