Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las funciones miembro de clase se tratan de manera diferente, dependiendo de si se declaradas como static.Porque las funciones no estáticos tienen un argumento implícito que proporciona el puntero de this , funciones no estáticos se consideren tener un más argumento que funciones estáticas; si no, se declaran exactamente igual.
Estas funciones miembro no estáticas requieren que la coincidencia implícitamente el puntero de this el tipo de objeto a los que se llama a la función, o, para operadores sobrecargados, se requiere que la primera coincidencia de argumento el objeto en el que se aplica el operador.(Para obtener más información sobre los operadores sobrecargados, vea operadores sobrecargados.)
A diferencia de otros argumentos en funciones sobrecargadas, no se introduce ningún objeto temporales y no se realiza ninguna conversión de para coincidir con el argumento del puntero de this .
Cuando el operador miembro-selección de – > para tener acceso a una función miembro, el argumento del puntero de this tiene un tipo de class-name * const.Si se declaran los miembros como const o volatile, los tipos son const class-name* const y volatile class-name * const, respectivamente.
El operador miembro-selección de . funciona exactamente de la misma manera, salvo que prefijan un operador implícitamente de & (dirección de) en el nombre de objeto.El ejemplo siguiente se muestra cómo funciona esto:
// Expression encountered in code
obj.name
// How the compiler treats it
(&obj)->name
El operando izquierdo de los operadores de –>* y de .* (puntero a miembro) se trata de la misma manera que los operadores de . y de –> (miembro) en cuanto a coincidir con el argumento.