This pointer in C ++
In C ++, each object can be accessed through its own addressthis pointer.this pointer is implicit parameters of all member functions. Therefore, the internal member function, which can be used to point to the calling object.
Notthis friend function pointers because a friend is not a member of the class.Only members havethis function pointer.
The following examples help to better understand the concept of this pointer:
#include <iostream> using namespace std; class Box { public: // 构造函数定义 Box(double l=2.0, double b=2.0, double h=2.0) { cout <<"Constructor called." << endl; length = l; breadth = b; height = h; } double Volume() { return length * breadth * height; } int compare(Box box) { return this->Volume() > box.Volume(); } private: double length; // Length of a box double breadth; // Breadth of a box double height; // Height of a box }; int main(void) { Box Box1(3.3, 1.2, 1.5); // Declare box1 Box Box2(8.5, 6.0, 2.0); // Declare box2 if(Box1.compare(Box2)) { cout << "Box2 is smaller than Box1" <<endl; } else { cout << "Box2 is equal to or larger than Box1" <<endl; } return 0; }
When the above code is compiled and executed, it produces the following results:
Constructor called. Constructor called. Box2 is equal to or larger than Box1