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

最新回答 / Eanve
就是为了防止错误的操作而改变其值

已采纳回答 / 苏布达
父类指针指向子类对象,通过父类指针只能寻址到从父类继承到的成员函数与数据成员,子类扩展的将会被截断。但是,如果将父类中同名函数设置为虚函数,创建子类对象时将会创建子类自有的虚函数表,虚函数表指向的成员函数将覆盖父类中的同名函数。

最新回答 / weixin_慕雪0498266
抽象类包含接口类,区别在于接口类只含有纯虚函数、无其他成员函数、构造函数、析构函数、数据成员;而抽象类在含有纯虚函数以外,可以含有成员函数、数据成员、构造函数、析构函数。

最赞回答 / 大叶_
Coordinate 要放在前面定义,这样shape才能调用定义Coordinate的构造函数要写成Coordinate::Coordinate(int _x, int _y)你的class Coordinate打错了

最新回答 / qq_raining
因为指针在定义的时候就指向了circle的对象,所以指针一直是指向circle对象内存区域的,因而delete的时候会找到circle对象的虚函数表,进行析构。然后父类shape再进行析构。

最新回答 / qq_消遣_3
通过父类指针去指向子类对象,是为了帮助我们理解虚函数和虚析构函数的概念。

最新回答 / 普通人love
“吃葡萄不吐葡萄皮,不吃葡萄倒吐葡萄皮”

最新回答 / qq_枕梦听风忆倾城_0
<...图片...>这个地方可以配置生成的平台,x64下地址是8个字节的,x86是4个字节的

最赞回答 / 慕田峪0215096
dynamic_cast用于判断类型转换是否安全,如果不安全则返回NULL

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

最新回答 / 低调_低调
这个要细心看看代码哦,代码中使用的是父类去实例化子类,所以调用的是子类的构造函数,并且只传了一个参数给子类的构造函数,所以当实例化父类的时候是没有参数的,则会调用到默认构造函数。

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

已采纳回答 / 易文
因为一个指针就占四个字节啊
课程须知
本课程是C++初级课程 1、熟练掌握C++语言基础语法
老师告诉你能学到什么?
1、虚函数、虚析构函数、纯虚函数 2、抽象类和接口类 3、运行时类别异常 4、异常处理

微信扫码,参与3人拼团

微信客服

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

帮助反馈 APP下载

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

公众号

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

友情提示:

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消