标题:C语言模仿面向对象编程继承问题
取消只看楼主
GBH1
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:112
专家分:510
注 册:2017-6-13
结帖率:100%
已结贴  问题点数:100 回复次数:1 
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
GBH1
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:112
专家分:510
注 册:2017-6-13
得分:0 
回复 2楼 renkejun1942
C语言结构体一样可以实现继承。为何会说没有
2017-07-27 17:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-479659-1-1.html




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

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