C++ this 指针

C++ this 指针 C++ 类 & 对象

在 C++ 中,每一个对象都能通过 this 指针来访问自己的地址。this 指针是所有成员函数的隐含参数。因此,在成员函数内部,它可以用来指向调用对象。

友元函数没有 this 指针,因为友元不是类的成员。只有成员函数才有 this 指针。

下面的实例有助于更好地理解 this 指针的概念:

实例

#include<iostream>usingnamespacestd; classBox{public: // 构造函数定义Box(doublel=2.0, doubleb=2.0, doubleh=2.0){cout <<"Constructor called." << endl; length = l; breadth = b; height = h; }doubleVolume(){returnlength * breadth * height; }intcompare(Boxbox){returnthis->Volume() > box.Volume(); }private: doublelength; // Length of a boxdoublebreadth; // Breadth of a boxdoubleheight; // Height of a box}; intmain(void){BoxBox1(3.3, 1.2, 1.5); // Declare box1BoxBox2(8.5, 6.0, 2.0); // Declare box2if(Box1.compare(Box2)){cout << "Box2 is smaller than Box1" <<endl; }else{cout << "Box2 is equal to or larger than Box1" <<endl; }return0; }

当上面的代码被编译和执行时,它会产生下列结果:

Constructor called.
Constructor called.
Box2 is equal to or larger than Box1

C++ this 指针 C++ 类 & 对象