永发信息网

C++复制构造函数和=号重载问题

答案:4  悬赏:0  手机版
解决时间 2021-11-17 21:19
  • 提问者网友:我一贱你就笑
  • 2021-11-17 13:32
C++复制构造函数和=号重载问题
最佳答案
  • 五星知识达人网友:一袍清酒付
  • 2021-11-17 13:45
表述基本上没有问题。从功能上来说,构造函数是用于创建对象的,operator其实是可以看成普通的成员函数,只不过是以符号的形式代替文字,看上去更加直观。
所以在构造函数中,需要对成员变量进行初始化,包括创建所需的空间等等。而operator调用时,对象已经创建完毕,不需要继续进行空间的创建。
全部回答
  • 1楼网友:woshuo
  • 2021-11-17 17:16
嗯,是这个意思,没有复制构造之前,你的storedValue没有初始化,存的是随机地址,所以这时使用*storedValue = *rhs.storedValue;去改变那个随机地址里的值是很危险的。
  • 2楼网友:刀戟声无边
  • 2021-11-17 16:24
如果对象在声明的同时将另一个已存在的对象赋给它,就会调用复制构造函数;如果对象已经存在,然后将另一个已存在的对象赋给它,调用的就是赋值运算符(重载)
  • 3楼网友:行路难
  • 2021-11-17 14:56
你都想通了还问什么。。追问问题都发出去了,然后想通了,,你第一个回答就采纳你了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯