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

最赞回答 / 岁月长衣裳薄
因为已经包含了Circle.h和Rect.h,而这两个文件里又都包含了Shape.h注意:因为不能两次包含Shape.h,所以用了#ifndef

已采纳回答 / 易文
因为一个指针就占四个字节啊

最新回答 / 慕虎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
程序崩溃的样子...比较丑陋
https://github.com/cjy513203427/C_Program_Base 造福大家
必须包含头文件typeinfo
#include &lt;typeinfo&gt;
课程须知
本课程是C++初级课程 1、熟练掌握C++语言基础语法
老师告诉你能学到什么?
1、虚函数、虚析构函数、纯虚函数 2、抽象类和接口类 3、运行时类别异常 4、异常处理

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消