课程
/后端开发
/C++
/C++远征之封装篇(上)
帮忙看看 哪里有问题,谢谢
2015-07-15
源自:C++远征之封装篇(上) 6-8
正在回答
你的t1调用了默认构造函数。t2和t3都调用了copy constructor。从运行结果的前三句看并没有问题。
可你定义的copy constructor并没有复制相应的成员变量啊,仅仅是输出了一句表明自己被调用的字符串。所以t2和t3成员变量的值都是默认值。
string的默认值为空字符串,int这种内置类型的默认初值是未定的。
输出的结果中打印t2和t3的位置上:在空格前其实就是空字符串,后面一个0和4237840就是随机的int。
正确的copy constructor应该在构造初始化列表中给自己的成员变量赋初值。
四灬阿哥 提问者
onemoo 回复 四灬阿哥 提问者
举报
封装--面向对象的基石,本教程力求帮助小伙伴们即学即会
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号