为了账号安全,请及时绑定邮箱和手机立即绑定
delete只向上调用析构函数
给个下载链接就好了

已采纳回答 / 浔無涯
dynamic_cast会根据基类指针是否真正指向继承类指针来做相应处理。 对指针进行dynamic_cast,失败返回null,成功返回正常cast后的对象指针; 对引用进行dynamic_cast,失败抛出一个异常,成功返回正常cast后的对象引用。 
父类指针指向子类对象,来回的变,还是多文件讲解的,还好这个概念现在摸的很好了,要不非得晕不可
dynamic_cast可以
强制类型转换也可以
楼下,构造函数初始化定义是在不同文件下的定义,而不是实例化对象;你说的类外访问是实例化对象访问问题
Mac xcode 不需要typeinfo

最赞回答 / 萝卜白菜西瓜
如果你定义的是Gun p,那么需要使用&取地址,也就是hunting(&p)。但是如果你定义的是Gun &p = new Gun(),那么gun本来就是代表的地址,所以直接使用即hunting(p),根据题目知道最后需要释放内存,所以肯定是在堆上定义的,所以应该使用Gun &p = new Gun()这种形式。

最赞回答 / 慕UI8711183
1、虚函数表不是只存储虚函数的地址吗? 怎莫理解您说的 “类对象的头部即虚函数表所在” 这句话。虚函数表存放的是虚函数的地址,虚函数表指针存放的是虚函数表的首地址,在内存中,子类对象Circle头部(即前四个字节)存放的是虚函数表指针,父类指针p指向子类Circle,也就是说把子类Circle的首地址赋值给p,根据p就可以找到子类Circle的虚函数表指针,依次找到虚函数表,再找到虚函数。2、没有虚函数,就没有虚函数表,子类对象Circle头部(即前四个字节)就没有虚函数表指针,就没法调用子类对象Circ...
讲的特别好 ,喜欢老师的课程
飞快的用双倍速看到现在,打个卡,hoho

最新回答 / Sacrt
是不是要初始化啊,FighterPlane里面好像没有m_strCode的数据成员,在Plane才有。改成“FighterPlane(string code):Plane(code)”试试

最赞回答 / XZMYSTYLE
如果用new的话,下面的catch语句传入的参数要用*代替&,同时catch里面的调用函数的语法也要用->来实现
构造函数初始化protected成员,这不属于类外访问吗?求大神指教。
课程须知
本课程是C++初级课程 1、熟练掌握C++语言基础语法
老师告诉你能学到什么?
1、虚函数、虚析构函数、纯虚函数 2、抽象类和接口类 3、运行时类别异常 4、异常处理

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消