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

最赞回答 / 漏风独雨
虚基类也使用virtual

最新回答 / 慕UI1431848
Circle.h和Rect.h里没有声明calcArea()

最新回答 / qq_鸿心横天_0
关键这个问题是如果不异常的话,还能实现多态?不是父类指针才能实现多态吗?父类对象调用不是只能隐藏不能覆盖吗,也就是只会打印父类的print不会打印子类的print,感觉视频很奇怪!

最新回答 / 小仆仆
在纯虚函数抽象类,无法实例化,但当所有非纯虚函数都定义就能实例化,()代表的是声明,再加个{}是定义!!!

最赞回答 / 云霄v
因为你有virtual 所以会创建虚指针表,前4个内存单元存放的是虚指针表

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

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

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

最赞回答 / 抱不到的你
虚析构函数就这样的功能啊,虚析构函数就是为了实现可以用父类对象指针来销毁子类对象(我的理解)

已采纳回答 / 好的茕大王
return 的值是没被打印出来的。在释放内存前 加上: cout << shape1->calcArea() << endl;  cout << shape2->calcArea() << endl;就可以打印出两个值了~

已采纳回答 / 慕圣2268672
还是用person和soldier打比方,*p=&s是对的,因为士兵肯定是人,但*s=&p编译器就会提示错误,因为人不一定就是士兵,这么说应该好理解吧!

最新回答 / 精慕门7525247
不是的。相同对象和不同对象接收信息 执行操作 都是指的是动态多态。静态多态是指像重载函数在实例化时就已定型了

最新回答 / bushiyigehaoren
是用Dog类实例化Animal类,子类可以实例化父类,父类可以指向子类,子类实例化父类的时候与父类相同的成员不变,多余的丢失。

最赞回答 / qq_灼灼晨曦_0
mac xcode 环境下typeid(*obj)是不一样的,typeid(*obj)是4Bird,typeid(int)是i,typeid(float)是f,基本数据类型都是首字母.
课程须知
本课程是C++初级课程 1、熟练掌握C++语言基础语法
老师告诉你能学到什么?
1、虚函数、虚析构函数、纯虚函数 2、抽象类和接口类 3、运行时类别异常 4、异常处理

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消