读书人

c++ this 指针,该怎么解决

发布时间: 2013-04-07 12:50:11 作者: rapoo

c++ this 指针
#include <iostream>
using namespace std;
class Complex{
private:
double fRel;
double fVir;
public:
void Set(double x, double y){
fRel = x;
fVir = y;
}
Complex& Add(double x){
fRel += x;
return *this;
}
void Print(){
cout<<"("<<fRel<<","
<<fVir<<")"<<endl;
}
};//不要漏写封号

int main(){
Complex a;
a.Set(3.2, 4.6);
a.Print();
a.Add(2.1).Add(3.2);
a.Print();
}

*this是什么意思啊? c++ class this
[解决办法]
这个百度一下应该就很明确,我大体说一下吧,this指针是c++中由系统给维护的一个指向自身的指针,*this就是返回对象本身
[解决办法]

引用:
#include <iostream>
using namespace std;
class Complex{
private:
double fRel;
double fVir;
public:
void Set(double x, double y){
fRel = x;
fVir = y;
}
Complex……

你对象本身,相当于有个指针指向你构造的对象一样。
[解决办法]
this是指向本类对象的指针,它的值是当前被调用的成员函数所在的对象的起始地址。
[解决办法]
你只要记住new的是谁,那么这个this指向的就是谁就可以了,甭管它是用基类还是派生类指针来指向。
*this就是刚才实例化出来的对象本身,不再跟指针这个中间商有毛关系了

读书人网 >C++

热点推荐