为了账号安全,请及时绑定邮箱和手机立即绑定
紧随继承而来 谢谢老师
向模版篇进发
有破绽呀,Animal的类中的move和eat函数不加virtual也能通过

最新回答 / Ashiamd
NULL会被模板推断为int,但nullptr就可以完美转发至T*转至 知乎的 “Michael Lee”2017-02-21的回答。原来 知乎问题“C++11 为什么引入nullptr”
void doSomething(Movable *obj)
{
obj->move();

if(typeid(*obj) == typeid(Bus))
{
Bus *bus = dynamic_cast<Bus *>(obj);
bus->carry();
}

if(typeid(*obj) == typeid(Tank))
{
Tank *tank = dynamic_cast<Tank *>(obj);
tank->fire();
}
}
通过不了是你写错了,老哥
如果不写animal的默认构造函数,无法通过编译,但是dog的默认构造函数不写的话可以通过,是不是跟animal *p有关啊,他得用到默认构造函数啊

已采纳回答 / xhuanhero
看清楚,计算面积函数里面只return了结果,main函数中没有使用cout来输出此值,所以没有打印计算结果
James老师讲的太好了
VS2017好像没有CMemoryException了,直接用了const std::exception&
内存不足!如果要是真的碰到这种事大部分人可能都会自杀吧。。。
现在内存的价格,不是一般的贵,是真的贵!
战斗鸡。。。。。
此处省去500字
纯虚函数=0,0中间没有什么东西,这或许就意味着纯洁吧!

最赞回答 / 猫毛儒丶
因为很多时候只有在程序运行过程中才能确定某一数据的具体类型,从而采用对应的行为举个例子,在交互界面中,计算两个数据的和,用户输入的是int,则调用+,如果是字符串,则调用stringcat()之类
课程须知
本课程是C++初级课程 1、熟练掌握C++语言基础语法
老师告诉你能学到什么?
1、虚函数、虚析构函数、纯虚函数 2、抽象类和接口类 3、运行时类别异常 4、异常处理

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消