| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1953 人关注过本帖
标题:C语言模仿面向对象编程继承问题
只看楼主 加入收藏
GBH1
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:112
专家分:510
注 册:2017-6-13
结帖率:100%
收藏
已结贴  问题点数:100 回复次数:6 
C语言模仿面向对象编程继承问题
例如:父类 A
子类 B
B继承A

有谁能从原理上解释一下以下几种情况?

指向父类的指针可以直接强转为指向子类的指针;
A *a;
B *b = (B*)a;//正确

父类对象不能直接转换成子类对象,但是子类对象可以向上转型成父类对象。
A a;
B b = (B)a;//错误
.......
B b;
A a = (A)b; //正确
.......

先将子类强制转换为父类,然后用此父类强制转换为另外一个子类.
B b;
A a = (B)b;
B c = (B)a ;正确






[此贴子已经被作者于2017-7-28 11:09编辑过]

搜索更多相关主题的帖子: 编程 继承 父类 子类 对象 
2017-07-27 17:04
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:18 
C语言没有继承!!!!!!!!!!

跑到c板块开百分贴问c++问题,声称其是c。

我不知道该怎样正确的吐槽。

[此贴子已经被作者于2017-7-27 17:35编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-07-27 17:33
GBH1
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:112
专家分:510
注 册:2017-6-13
收藏
得分:0 
回复 2楼 renkejun1942
C语言结构体一样可以实现继承。为何会说没有
2017-07-27 17:58
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
回复 3楼 GBH1
没有就是没有。
你可以模仿,但终究是模仿。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-07-27 18:14
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:18 
c语言是面向过程的 不是面向对象的

所以 神马 类 神马 继承  这些在c里 都是没有这个概念的

DO IT YOURSELF !
2017-07-28 15:58
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
收藏
得分:18 
如果题主擅长造轮子,用基础的c规则当然也可以面向对象编程。那些支持面向对象编程的语言其分解到最终的基础部分不还是c。
题主第一个问题属于指针的强制类型转换,这应该很容易理解。至于其他几个问题大概可以形象地理解为“向下兼容”,如c2.0兼容c1.0,假如你有两个实例分别为c1.0和c2.0,c2.0可以降格为c1.0使用,但c1.0不能升级为c2.0来使用。
2017-07-28 20:56
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10541
专家分:42927
注 册:2014-5-20
收藏
得分:18 
继承,怎样体现父子关系?
2017-07-28 21:29
快速回复:C语言模仿面向对象编程继承问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015403 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved