在类中,有着指向对象自身的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指针改变对象自身