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

已采纳回答 / 同手同脚0
不能,通过父类指针指向子类对象时,子类对象中特有的数据成员和成员函数会被截断,无法通过父类指针访问

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

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

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

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

已采纳回答 / haojie06
就是是从键盘得到数值,前面相当于初始化了,后面就是输入值赋给d1 d2,在实际运行中是需要输入的

已采纳回答 / ___TINGWEN
少了一个括号呀,Dog类前面的大括号没有

已采纳回答 / 慕仰3257784
应该是没有虚构造函数。

已采纳回答 / mukebaba
重载是指两个同名函数,但是参数的类型和数量不同隐藏是指父类和子类中,具有同名函数。覆盖是指父类和子类中,具有同名的虚函数。

已采纳回答 / xhuanhero
看清楚,计算面积函数里面只return了结果,main函数中没有使用cout来输出此值,所以没有打印计算结果

已采纳回答 / 慕神5287259
 因为有了#include "Plane.h"  而plane.h又包含了 Flyable.h,所有不用在写#include "Flyable.h"

已采纳回答 / 慕无忌8407261
网络问题 换个浏览器或者换个网,或者等网站服务器恢复

已采纳回答 / 慕用0435620
有虚构列表时,虚构指针所在的地址是类的首地址,而输出的是虚构列表的地址

已采纳回答 / cnarutox
那是因为你没有把声明和定义放到同一个源文件中,多数编译器不支持使用模板时分开放置

已采纳回答 / 好的茕大王
return 的值是没被打印出来的。在释放内存前 加上: cout << shape1->calcArea() << endl;  cout << shape2->calcArea() << endl;就可以打印出两个值了~
课程须知
本课程是C++初级课程 1、熟练掌握C++语言基础语法
老师告诉你能学到什么?
1、虚函数、虚析构函数、纯虚函数 2、抽象类和接口类 3、运行时类别异常 4、异常处理

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消