社区
C++ 语言
帖子详情
关于派生类的小问题(想了好久没明白)
menxiang
2004-05-11 09:52:16
派生类对象可作为其相应的对象处理
基类对象不能自动成为派生类的对象
既然派生类继承了基类的成员函数,数据成员
为什么基类对象不能成为派生类对象或者说有危险,而反过来如果派生类中添了几个数据成员,成员函数,有怎么可以作为相应的基类处理呢?
很不明白啊,可以帮我解释一下吗?
谢谢拉!
...全文
39
6
打赏
收藏
关于派生类的小问题(想了好久没明白)
派生类对象可作为其相应的对象处理 基类对象不能自动成为派生类的对象 既然派生类继承了基类的成员函数,数据成员 为什么基类对象不能成为派生类对象或者说有危险,而反过来如果派生类中添了几个数据成员,成员函数,有怎么可以作为相应的基类处理呢? 很不明白啊,可以帮我解释一下吗? 谢谢拉!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
danielpan
2004-05-12
打赏
举报
回复
你可以把基类和派生类想像成一个金字塔,基类在最上面.
如果你要把派生类转变成基类,只要沿着基类的轮廓一刀斩下去,那么下面的派生类就也和基类一样了,当然派生类多出来的那一部分就没有拉(这就是所谓的对象切割,你后面看书应该会看到的,切割也并不是抛弃了那一部分,而是编译器看不到了).
但是如果要把基类转变成派生类就办不到了,因为基类怎么变也不能把自己的面积变大阿,变大了就意味着要添加东西了.
RookieStar
2004-05-12
打赏
举报
回复
典型的多态问题!涉及到upcast和downcast的区别。
多态的本质是后期绑定,是运行期的概念。后期绑定有得必有失,得到了多态的实现,失去了对被绑对象相对基类新增的那些接口的操作。
从接口的角度来看:基类拥有的接口派生类都有继承,但派生类可能新增一些接口,这样upcast的目的就是用基类的接口控制派生类相应的接口,而downcast以后,基类有了形式上的“新接口”,但它所对应的操作是未定义的。
kuibobo
2004-05-12
打赏
举报
回复
父子关系嘛
ra3
2004-05-11
打赏
举报
回复
因为派生类比基类多了一些功能, 多的这部分是基类不能的, 基类只能做属于他自己的那一部分。
新自由呼吸
2004-05-11
打赏
举报
回复
简单来说,派生类与基类相比,有自己的"特色",也可以说处理问题更细了
基类有的,派生类都有,因此基类能处理派生类的对象,而派生类的"特色",基类却没有,派生类如何处理基类的对象?
freefalcon
2004-05-11
打赏
举报
回复
为什么基类对象不能成为派生类对象或者说有危险
因为派生类将比基类具有更多的方法(不然,你派生它有何意义),而这些方法很可能用到派生类自己的成员(基类)没有,你说如果把一个基类对象转换成派生类对象的话,那我通过派生类特有的成员函数去访问会发生什么?
微信小程序样式开发入门
讲解微信小程序中样式的入门使用,如何使用传统的css知识点来开发wxss的样式;本节课主要讲解在微信小程序中创建样式的几种 写法,元素选择器的基础使用,id选择器和id派生选择器的使用,class类选择器的使用。
C# 关于基类是否可以强制转换为其
派生类
2、无法将一个基类强制转换为其
派生类
,但一种情况例外,如果基类是由目标
派生类
或者目标
派生类
的
派生类
(即子类的子类)实现的,则可以强制的将这个基类转换为对应的
派生类
。 例如:对于MyBMWCar类继承至MyCar类,...
基类对象与
派生类
对象的关系
派生类
对象作为基类对象处理由于
派生类
具有所有基类的成员,所以把
派生类
的对象赋给基类对象是合理的,不过要求这种继承方式必须是public方式。但是,反过来赋值会使基类中一具有
派生类
的成员(因为
派生类
的成员...
java
派生类
属例子_相关类属和
派生类
属到底怎么区分?
奥苏贝尔的下位学习中,相关类属和
派生类
属到底怎么区分?有童鞋采用记例子的办法,学了平行四边形再学长方形是
派生类
属,学了平行四边形再学菱形是相关类属。真是这样吗?那学了平行四边形再学正方形是什么呢?死记...
为什么基类指针和引用可以指向
派生类
对象,但是反过来不行?
基类指针和引用BaseClass *pbase = NULL; DerivedClass dclass; pbase = & dclass; 基类指针和引用可以指向
派生类
对象,但是无法使用不...当其指向
派生类
的时候,由于
派生类
元素在内存中堆放是:前N个是基类
C++ 语言
64,637
社区成员
250,559
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章