关于VC++类的封装

请看如下类的封装:

#include<iostream>  
  using   namespace   std;  
  class   Complex{  
          float   r,i;  
          public:  
                  Complex(float   rr=0,float   ii=0){r=rr;i=ii;}  
                  Complex   operator+(Complex   );  
                  void   show()  
                  {  
                          cout<<r<<"     "<<i<<endl;  
                  }  
                  void   operator=(Complex   );  
          };  
  Complex   Complex::operator+(Complex   c)                 //此处用不用引用一样.(为什么?)Complex   &c  
  {  
          Complex   t;                                       //t为什么能访问自己的私有成员.  
          t.r=r+c.r;                                     //此处为什么c可以访问它的私有成员.  
          t.i=i+c.i;  
          return   t;  
  }  
  void   Complex::operator=(Complex   c)  
  {  
          r=c.r;  
          i=c.i;  
  }  
  int   main()  
  {  
          Complex   c1(25,50),c2,c3(100,150);  
          c2=c1+c3;     //在devcpp下此步出错.为什么.而且错误提示是返回类型不匹配?  
          c2.show();     //也就是说在DEV下那两个东西也可以访问私有成员.只是无法返回.为什么?  
          system("PAUSE");  
          return   0;  
  }          
  以上程序在VC6.0下成功  .

有什么高见要评论一下^_^ 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值