鸡啄米
鸡啄米:C++编程入门系列之四十三(继承与派生:赋值兼容规则)›评论
-
17. echon:
偶然搜到博主的blog 内容真棒!谢谢2016/6/1 22:43
-
16. 西瓜好吃:
base = child;这句话简直不可理解,child对象具备base所不具备的属性(成员),直接这样赋值,child多出来的成员值赋到哪去了?是直接抛弃吗?今夜 于 2015-9-13 0:20:17 回复好巧啊,我也在看这个序列。
base = child,我是这么理解的,把child赋给base,只是把base对象中所需要的成员给赋值了(用child中对应的成员),child中多出来的成员并没有用到。无需抛弃啊,还在内存里,child并没有delete掉。
有空一起讨论啊。今夜 于 2015-9-13 0:21:24 回复好巧啊,我也在看这个序列。
base = child,我是这么理解的,把child赋给base,只是把base对象中所需要的成员给赋值了(用child中对应的成员),child中多出来的成员并没有用到。无需抛弃啊,还在内存里,child并没有delete掉。
有空一起讨论啊。西瓜好吃 于 2015-9-13 16:51:37 回复我是这两天从头看过来的,哈哈。我是这个意思,child是个大果篮,base是个小果篮,child把果子复制一份给base,base根本盛不下啊,肯定要抛弃child独有的部分,child本身当然没被delete我知道。如果说编译器和CPU就是这样规定的,只接受两者共有的部分,那我就记住得了。就像
int a=2;
float b=5.6389;
a=b;//a结果为5,小数被抛弃,就类似于这里的盛不下。
博主何在,快来啊单线程编程 于 2022/1/6 9:05:25 回复派生类对象赋值给基类对象的时候确实会舍弃派生类新增的成员,所以从安全性上来讲,可以把派生类对象直接赋值给基类对象,派生类的新增成员被编译器自动舍弃,这好像也叫向上转型2015/9/12 17:22
-
15. 快乐:
为什么刚看到,为什么!!!!!2014/12/4 17:12
-
14. XXXX:
我竟然不知道不知道看到这章节了,竟然都可以懂,博主强大2014/7/28 16:03
-
13. 茶果:
博主的这个回复功能设计的很棒,一看就是优秀的产品经理2013/3/18 15:04
发表评论