¿Cuál es el uso de este puntero?
(A) Cuando el nombre de la variable local es el mismo que el nombre del miembro, podemos acceder al miembro usando este puntero.
(B) Para devolver la referencia al objeto que llama
(C) Se puede usar para llamadas de función enstringdas en un objeto
(D) Todas las anteriores
Respuesta: (D)
Explicación: Vea el siguiente ejemplo para el primer uso.
/* local variable is same as a member's name */ class Test { private: int x; public: void setX (int x) { // The 'this' pointer is used to retrieve the object's x // hidden by the local variable 'x' this->x = x; } void print() { cout << "x = " << x << endl; } };
Y siguiendo el ejemplo para el segundo y tercer punto.
#include using namespace std; class Test { private: int x; int y; public: Test(int x = 0, int y = 0) { this->x = x; this->y = y; } Test &setX(int a) { x = a; return *this; } Test &setY(int b) { y = b; return *this; } void print() { cout << "x = " << x << " y = " << y << endl; } }; int main() { Test obj1(5, 5); // Chained function calls. All calls modify the same object // as the same object is returned by reference obj1.setX(10).setY(20); obj1.print(); return 0; }
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA