this指针指向被调用的成员函数所属的对象
this指针是隐含每个非静态成员函数内的一种指针
this指针不需要定义,可以直接使用
用途:
当形参和成员变量名同名时,可以用this指针来区分
在类的非静态成员函数中返回对象本身,可以用 return * this
#include<iostream>
using namespace std;
class person
{
public:
person(int age)
{
//this指针指向被调用的成员函数所属的对象
this->age = age;
}
person& personage(person &p)//要用引用,能够对实参进行修改
{
this->age += p.age;//即a=a+b;
return*this;//将结果返回给p2
}
int age;
};
//1、用于解决名称冲突
void test1()
{
person p1(18);
cout << "p1年龄为" << p1.age << endl;
}
//2、返回对象本身用*this
void test2()
{
person p1(10);
person p2(10);
//链式编程
p2.personage(p1).personage(p1).personage(p1).personage(p1);
cout << "p2年龄为" << p2.age << endl;//相当于反复执行了四次personage,输出结果是50
}
int main() {//主函数返回值为整型
test1();
test2();
system("pause");//暂停系统命令
return 0;//退出程序
}