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

已采纳回答 / 慕粉2025106381
你是在堆中创建的,还是在栈中,堆中需要程序员手动释放内存,栈中由系统自动释放

已采纳回答 / qq_慕先生620106
protected和private对于外部实例来说一样的,即 Person  person;这里person"."不出protected 和 private修饰的成员变量。

已采纳回答 / AlexPan0610
编译器给出的提示是ChildLabourer类没有m_strName和m_iAge成员变量。推测是子类的初始化列表先于父类的构造函数执行,否则无法将参数传递给父类。因此在执行ChildLabourer的初始化列表时,父类(Worker, Children)的构造方法尚未执行,当然成员变量(m_strName, m_iAge)也就不存在,因此不能在子类的初始化列表中初始化父类的成员变量。

已采纳回答 / 慕粉3959859
指针不是形参,而是一个内存,指向对象第一个成员的地址。

已采纳回答 / 慕尼黑0382964
堆中实例化在main()函数结束前就已经释放内存了(delete p)栈中实例化是在程序运行结束后才释放内存

已采纳回答 / yiyoo
用virtual虚析构函数是为了防止内存泄漏。具体地说,如果派生类中申请了内存空间,并在其析构函数中对这些内存空间进行释放。假设基类中采用的是非虚析构函数,当删除基类指针指向的派生类对象时就不会触发动态绑定,因而只会调用基类的析构函数,而不会调用派生类的析构函数。那么在这种情况下,派生类中申请的空间就得不到释放从而产生内存泄漏。所以,为了防止这种情况的发生,C++中基类的析构函数应采用virtual虚析构函数。

已采纳回答 / 石大圣
”多继承对父类没有限制“是指没有上限,强调的不是下限。再看B项,多么明显的错误。

已采纳回答 / LeetAna
超类就是父类,一种东西。就像C++叫函数,java叫方法一样;C++叫父类,java叫超类

已采纳回答 / 知否bot丶
初始化列表,你的Migrantworker 形参是什么?ncode  初始化列表里用color 编译器怎么会认识

已采纳回答 / ShotU
《C++远征之起航篇》、《C++远征之离港篇》、《C++远征之封装篇(上)》、《C++远征之封装篇(下)》然后是继承,最后是多态。

已采纳回答 / Aralkyle_La_pluie
老师用的是Microsoft Visual Studio 2010 ,现在你可以自己搭建Microsoft Visual Studio 2017的IDE,网上可百度出注册码

已采纳回答 / 小图兔
个人总结:virtual当前出现的三种地方:虚析构函数:当父类指针指向子类对象时,释放内存时,若不定义virtual,则仅释放父类内存。虚继承:防止多继承和多重继承时,一个父类被继承多次,造成内存空间的浪费。虚函数:当父类指针指向子类对象时,父类指针可以指向子类方法。

已采纳回答 / 慕无忌5762020
或者 你也可以在 派生类中 再写一个public 下的函数 去调用 protect中的 函数  这样做 几乎没有任何意义  本来就是为了调用函数 现在要用另外一个函数 去调用这个函数 
首页上一页123456下一页尾页
课程须知
本课程是C++初级课程 熟练掌握C++语言基础语法,如需要学习C++基础语法的可以看《C++远征之起航篇》、《C++远征之离港篇》、《C++远征之封装篇(上)》、《C++远征之封装篇(下)》
老师告诉你能学到什么?
1、什么是继承 2、基类和派生类的概念 3、继承的三种方式 4、多重继承和多继承 5、虚继承是怎么回事

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消