为了账号安全,请及时绑定邮箱和手机立即绑定

最新回答 / 小仆仆
尽量在类外定义,因为这样方便自己阅读

最赞回答 / 大妮妮1051134
因为migrantworker可以从farmer  和 worker继承,而farmer和worker都是从person继承的,这样migrantworker就含有两个person中的数据,这是不被允许的,所以采用虚继承避免冗余数据。  migrantworker只是包含farmer一次,不存在冗余,所以不需要虚继承

最新回答 / NoBB_
因为它让你用指针(要求:在main函数中通过new实例化ChildLabourer类的对象)

最新回答 / qq_赦_0
应该是你程序其他的地方出错了,这两者都一样,只是一个需要程序员释放内存,一个系统自动释放!请采纳

最赞回答 / include9
课程中是两个中间父类都变成了虚继承。如果想通过子类初始化顶端父类的数据成员,可以只虚继承一个中间父类

最新回答 / 慕圣2268672
老师安装的visual studio 10    旗舰版,只能帮你到这了

最新回答 / 朵小妖儿
 不会的,因为在4.5节中有说到,只有void test1(Person p)这个对象的会先实例化一个对象p,来调用play,并在执行完之后自动销毁,这样就会有一个析构函数,之后的两个都没有实例化和销毁的过程,所以效率高,也不会执行析构函数,但是如果加了虚析构函数,就会把父类和子类的内存一起释放了

最新回答 / Kevin_dgt
已经解决了,使用g++ -std=c++11进行编译就ok了

最新回答 / 慕沐6594187
初始化列表是初始化成员变量, 而继承体系中 ,子类的构造函数需要调用父类的构造函数(在子类产生一个父类对象),从而才能对父类对象虚函数重写(也就是对父类对象虚表的覆盖)
课程须知
本课程是C++初级课程 熟练掌握C++语言基础语法,如需要学习C++基础语法的可以看《C++远征之起航篇》、《C++远征之离港篇》、《C++远征之封装篇(上)》、《C++远征之封装篇(下)》
老师告诉你能学到什么?
1、什么是继承 2、基类和派生类的概念 3、继承的三种方式 4、多重继承和多继承 5、虚继承是怎么回事

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消