this是指向自身对象的指针,*this是自身对象。
也就是说return *this返回的是当前对象的克隆或者本身(若返回类型为A, 则是克隆, 若返回类型为A&, 则是本身 )。
return this返回当前对象的地址(指向当前对象的指针)
下面代码写在CPerson类中
CPerson* getCperson()
{
cout<<"返回指向当前对象的指针: "< return this; } CPerson getCopy() { cout<<"返回当前对象的克隆,当前对象地址为: "< return *this; } CPerson & getSelf() { cout<<"返回当前对象本身: "< return *this; } 以下代码写在main函数中 cout<<"p4的地址"<<&p4< cout<<"通过getCperson获得当前对象的地址"< cout<<"p4克隆对象的地址"<<&p4.getCopy()< cout<<"p4本身地址"<<&p4.getSelf()< 运行效果