C++类和对象(3)——this指针
在类中,有着指向对象自身的this指针。
当你调用类的成员函数时,都会有this指针占据着第一个形参的位置,但是this指针是隐藏的,而且this指针在实参和形参的位置不能写出来。
我们将以下面这个类为例子讲解this指针。
class A
{
public:A(int a = 0){_a = a;}~A(){}A& operator++(){++_a;return *this;}A operator++(int){A temp = *this;++*this;return temp;}//int Get_a(Date* const this)int Get_a(){return _a;}private:int _a;
};
this指针的暗含
Get_a函数的传参中隐含着this指针,但是我们不能写出来。
this指针可以访问所有成员函数和变量
如上图所示,this指针可以访问A中的所有成员函数和成员变量,除了static静态成员函数。
this指针的妙处
写运算符重载时,可以用this指针改变对象自身