this指针,是 C++ 提供的特殊对象指针,不需要定义,可直接使用。
使用场景如下:
1、当形参和成员变量同名时,可用 this 指针来区分
2、在类的 非静态成员函数
中返回对象本身,可使用 return *this
#include <iostream>
using namespace std;
class Person
{
public:
Person(int age)
{
this->age = age; // 当形参和成员变量同名时,可用this指针来区分
}
Person& PersonAddPerson(Person p)
{
this->age += p.age;
return *this; // 这里可以返回对象本身 *this
}
int age; // 还有一种简单的做法是,给这个属性写一个更规范的名字,比如 m_age
};
int main() {
Person p1(10);
cout << "p1.age = " << p1.age << endl;
Person p2(10);
// 即传说中的 “链式编程思想”
// 将多个操作(多行代码)通过点号(.)链接在一起成为一句代码,从而使代码可读性好。
p2.PersonAddPerson(p1).PersonAddPerson(p1).PersonAddPerson(p1).PersonAddPerson(p1).PersonAddPerson(p1);
cout << "p2.age = " << p2.age << endl;
return 0;
}