首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2013-04-07 
c++ this 指针#include iostreamusing namespace stdclass Complex{private:double fReldouble fVirp

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就是刚才实例化出来的对象本身,不再跟指针这个中间商有毛关系了

热点排行