关闭

运算符重载例子

723人阅读 评论(0) 收藏 举报

#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;
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:228727次
    • 积分:2808
    • 等级:
    • 排名:第12756名
    • 原创:64篇
    • 转载:38篇
    • 译文:0篇
    • 评论:41条
    unix技术网站