this Pointer
In object-oriented programming (OOP) languages like C++, the this pointer is a keyword that is used to refer to the current object within a member function. It is a special pointer that holds the memory address of the current object instance.
Example 1:
#include <iostream> using namespace std; class stud { public: void address() { cout << this; } }; int main() { stud a, b, c; cout << "The adress of a\t"; a.address(); cout << endl << "The adress of b\t"; b.address(); cout << endl << "The adress of c\t"; c.address(); cout << endl; return 0; }
In this C++ code, we have a class named stud, which contains a member function address(). This member function simply prints the memory address of the current object using the this pointer.
Function of this Pointer:
- In the address() function of the stud class, this refers to the current object for which the member function is being called.
- Inside the address() function, cout << this; prints the memory address of the current object.
- In the main() function, we create three objects a, b, and c of the class stud.
- We then call the address() function on each object, which prints the memory address of each object.
- The this pointer ensures that the correct memory address of the current object is printed when address() function is called for each object.
Example 2:
#include <iostream> using namespace std; class Student { int id; public: void set_id(int id) { this->id = id; } void print_id() { cout << "ID is " << id << endl; } }; int main() { Student St; St.set_id(10); St.print_id(); return 0; }
In this C++ code, we have a class named Student with a private member variable id representing the student’s ID. The class provides two member functions: set_id() and print_id().
Function of this Pointer:
- In the set_id() member function, the parameter id passed to the function has the same name as the member variable id of the class. To distinguish between them, the this pointer is used.
- Inside the set_id() function, this->id = id; assigns the value of the parameter id to the member variable id of the current object.
- The this pointer points to the current object for which the member function is called. It is used to access members of the object.
- In the main() function, an object St of the class Student is created. The set_id() function is called to set the ID of the St object to 10.
- Then, the print_id() function is called to print the ID of the St object.
The output of the code will be:
ID is 10