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

最新回答 / 慕虎8274556
throw和catch后面需要接数据类型,并且throw的类型需要和catch数据类型对应。string ()是<string>库中的一个函数,它实现了创建一句字符串的功能。

已采纳回答 / 慕粉4325388
这么说吧,之所以进行这个转换是因为使用父类Flyable指针通过虚函数实现机制我们可以动态的是实现同名的虚函数,但是对于子类Bird中的非虚函数(觅食函数),要想调用则必须是Bird,所以要进行强制类型转换。

最新回答 / KingCoder
 Bus *bus = new Bus;    Tank *t = new Tank;    doSomething(b);    doSomething(t);    return 0;

已采纳回答 / Cocoabeans
是Movable不是Moveable,两个公有继承那里都打错了。

最新回答 / 慕慕4339542
18年的贴了,你头文件Plane.h里没有声明Plane(string code)吧。

已采纳回答 / 精慕门8404440
在这里可以不写,但这是好的编码习惯,因为以后Plane也可能被继承,这里写了就可以防止它子类中的函数不能被调用。

最赞回答 / 慕莱坞7454422
构造一个函数的时候将 Canshut 改成 Gun 编译可以通过  但是老师的代码那里写的就是Canshut

最新回答 / Allisam
因为声明了指针,销毁的时候如果只销毁的父类,那么这块子类的指针就不会被销毁,就出现了内存泄漏

最赞回答 / 为梦而战3
当你定义构造函数时,想要初始化类的某个数据成员,就需要用到有参构造函数。如果不想初始化该数据成员,只是将其声明出来即可,等到普通函数去操作它时,在具体给它赋值。

最新回答 / 飒场就典兵
typeid是C++的关键字之一,等同于sizeof这类的操作符,所以你没写也是可以运行的

最赞回答 / qq_青草更青处_0
你用int*强制转换了circle,它的数据成员也变成int*型的了,8+8=16

最新回答 / HokYng
已解决,是没有开启RTTI

已采纳回答 / haojie06
就是是从键盘得到数值,前面相当于初始化了,后面就是输入值赋给d1 d2,在实际运行中是需要输入的
课程须知
本课程是C++初级课程 1、熟练掌握C++语言基础语法
老师告诉你能学到什么?
1、虚函数、虚析构函数、纯虚函数 2、抽象类和接口类 3、运行时类别异常 4、异常处理

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消