鱼C论坛

 找回密码
 立即注册
查看: 2878|回复: 3

[技术交流] 第36副本构造器中讲到的一个例题可否这样写

[复制链接]
发表于 2013-11-17 16:24:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<iostream>
#include<string>

class aa
{
public:
      aa(int *p);
      ~aa();

      aa &operator=(const aa &aaa);
      void dy();//打印;
private:
      int* bb;
};

aa::aa(int *p)
{
      bb=p;
}

aa::~aa()
{
      delete bb;
}

aa &aa::operator=(const aa &aaa)
{
      if(this!=&aaa)
      {
#if(0)
            delete bb;//把 bb 空间删除
            bb=new int;//新建一个 bb 空间 整型的

#endif
            *bb=*aaa.bb;//吧 aaa里面的bb 值给 bb指向的地址
      }
      else
      {
            std::cout<<"赋值号两边为同个对象,不做处理!\n";
      }

      return *this;
}

void aa::dy()
{
      std::cout<<bb<<"  "<<*bb<<std::endl;
}

int main()
{
      aa a1(new int(1));
      aa a2(new int(2));

      a1.dy();
      a2.dy();

      a1=a2;

      a1.dy();
      a2.dy();
}

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-11-17 16:25:29 | 显示全部楼层
把红色部分不要

删除 本空间 又新建一个 不是费事吗

这个赋值又不是赋值的地址应该没事吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-17 22:50:08 | 显示全部楼层
咋没人来看呢 (*^__^*) 嘻嘻……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-17 23:58:29 | 显示全部楼层
无人问津 自己只有再定一个了

希望知道的告诉

求真理 求真相!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 08:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表