[问题] copy constructor

楼主: becoder (程式学习者)   2017-11-29 07:25:27
开发平台(Platform): (Ex: Win10, Linux, ...)
WIN10
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
DEV C++
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
NONE
问题(Question):
http://joule.bu.edu/~hazen/progr/cppcen.html#l19
范例19中,我将程式码复制到DEV C++上希望能跑,不过会当掉
最后的Bob会出问题
希望能说明怎么回事
(我是C的使用者在学习C++,所以C++的概念较为薄弱)
喂入的资料(Input):

预期的正确结果(Expected Output):
不会当掉
错误结果(Wrong Output):
会当掉
程式码(Code):(请善用置底文网页, 记得排版)
http://joule.bu.edu/~hazen/progr/cppcen.html#l19
补充说明(Supplement):
希望可以说明观念
作者: s4300026 (s4300026)   2017-11-29 07:26:00
你的程式码
作者: loveflames (咕啾咕啾魔法阵)   2017-11-29 08:03:00
copy ctor少一个const,就这样
作者: ilikekotomi (Young)   2017-11-29 11:06:00
看code是写法有问题 https://goo.gl/6dysnZ文章是我随便找的 但建议先看一下厘清观念
作者: peterwu4 (notd)   2017-11-29 12:48:00
你在各个ctor、dtor刷刷讯息就明白了最后那个呼叫的不是copy ctor
作者: Caesar08 (Caesar)   2017-11-29 14:18:00
怎么没有copy assignment operator?
作者: loveflames (咕啾咕啾魔法阵)   2017-11-29 14:38:00
现在提rule of 3/5太早
作者: ilikekotomi (Young)   2017-11-29 15:07:00
http://pythontutor.com/cpp.html#mode=edit这个网站还不错 感觉你应该还不会用IDE debug不访先将code贴进去跑跑看 希望你可以发现问题
作者: peterwu4 (notd)   2017-11-29 15:35:00
楼上的东西真的不错~ 程式少了一个copy assignperson &operator=(const person &s) {strcpy(name, s.name); age = s.age; return *this; }
作者: eye5002003 (下一夜)   2017-11-29 21:25:00
为何一个建构子有new char而另一个没有?都要new啊

Links booklink

Contact Us: admin [ a t ] ucptt.com