运算符重载例子

来源:互联网 发布:房米网络 编辑:程序博客网 时间:2024/06/10 03:09

#include "stdafx.h"

#include "iostream.h"

class A
{
public:

 operator A *()
 {
  m=this;
  return m;
 }
 A& operator*(){ m=this; return *m ;}
 A** operator&() { m=this; return &m ;}

 A* operator->(){ return m ;}

 A* operator=(A* pI){}

 bool operator!(){return true;}
 
 void ssss(){cout <<"HHHH"<<endl;}

 int i;

 A *m;

};

int main(int argc, char* argv[])
{

 A a;
 A *a1,**a2,*a3,a4,*a5;
 a1=*a;

 a1->ssss();
 a2=&a;

 (*a2)->ssss();

 a3->ssss();

a4.i=1;

a5=a4;

a5->ssss();

 !a4;

return 0;
}

原创粉丝点击