为了账号安全,请及时绑定邮箱和手机立即绑定
哈哈,这节课是绕口令

已采纳回答 / qq_一r过_03334883
这个例子是为了给你演示多继承,实例化子类对象来给父类成员赋值,因为famer类只有m_strName而没有m_strCode,woker类和它相反,而MigrantWorker类则具有两个成员,如果只是给MigrantWorker类自己的成员赋值的话,是可以采用你说的普通方法。给父类成员赋值,也可以使用  MigrantWorker mk;  mk.Famer::m_strName="XXXX"的方式,但是显然初始化列表更加的省事。

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

已采纳回答 / Jason_Jay
1.实例化子类的时候会先构造父类对象,而释放的时候则是先释放子类,然后再释放父类。2.编程中凡是有实例化的对象最后都要释放掉,不然可能会导致内存泄漏。
老师是带着对象去的
老师讲的很好

已采纳回答 / 忧伤的小鞋匠
哪里的ChildrenLabourer?如果是在堆中实例化对象的话,应该是ChildrenLabourer *p = new ChildrenLabourer;(省略了参数列表),如果是在栈中实例化的话一般是ChildrenLabourer childrenLabourer。
到此一游~~~~
Person

Worker

Children

ChildLabourer

eat

xiaoming

work

16

play

~ChildLabourer

~Children

~Worker

~Person
只做大概了解 不需深究

已采纳回答 / 慕数据8895736
最开始的时候执行了Person和Soldier的构造函数,如果不加虚析构函数的话  你会看到就只释放了Person的析构函数,这样就少释放了Soldier的析构函数,加了的话就会有~Soldier和~Person,一样各执行了一次,没有重复释放ka ,不知这样理解得对不对。
实践源码上传分享:http://pan.baidu.com/s/1cyxvEe
有首歌也叫“Soldier”,边听边敲很有满足感。至于步兵,请出门右转,你得到Tony老师的课程上才能听懂~
公有继承时,在派生类中基类的protected权限_________(保持不变)
私有继承时,在派生类中基类的public和protected权限变为_________(私有成员)
本节实践代码稍作修改 老规矩,上传分享http://pan.baidu.com/s/1slVcK13
(我学过Java的继承,特和C++做了对比。此代码用了Java所讲的案列)
DEV-C++界面比较别扭,现在腾手用VS2015进行敲代码。
课程须知
本课程是C++初级课程 熟练掌握C++语言基础语法,如需要学习C++基础语法的可以看《C++远征之起航篇》、《C++远征之离港篇》、《C++远征之封装篇(上)》、《C++远征之封装篇(下)》
老师告诉你能学到什么?
1、什么是继承 2、基类和派生类的概念 3、继承的三种方式 4、多重继承和多继承 5、虚继承是怎么回事

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消