*1、this指针概念 每一个飞静态成员函数只会诞生一份函数实例,也就是说多个同类的对象会共用一块代码,那么问题是:这一块代码是如何区分那个对象调用自己的呢? C++通过提供特殊的对象指针,this指针,解决上述问题,this指针指向被调用的成员函数所属的对象。 this 指针是隐含每一个非静态成员函数内的一种指针; this指针不需要定义,治具使用即可。 this指针的用途: 1)当形象和成员变量同名时,可用this指针来区分; 2)在类的非静态成员函数中返回对象本身,可使用return this;
#include <iostream>
using namespace std;
class Person
{
public:
Person(int age)
{
this-> age = age;
}
Person& PersonAddAge(Person& p)
{
this->age += p.age;
return *this;
}
int age;
};
void test01()
{
Person p1(18);
cout << "p1的年龄为:" <<p1.age<< endl;
}
void test02()
{
Person p1(10);
Person p2(10);
p2.PersonAddAge(p1).PersonAddAge(p1).PersonAddAge(p1);
cout << "p2的年龄为:" << p2.age << endl;
}
int main()
{
test01();
system("pause");
}
|