向上转换以及避免“向下转换”继承层次!不大理解

lijdking 2003-05-29 09:03:38
如题!
在Effective C++里看的,不理解
有哪位大侠能给初学者讲讲,最好举个例子!
感谢之中!
...全文
39 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
DanielWYO 2003-05-31
  • 打赏
  • 举报
回复

其实你只要知道, 只有基类是可以生成继承类的实例,
当时反过来就不行.

其实这是一个笼统的概念, 不只用在代码编写中,
在程序设计中也要遵循这条规则.

是OOP的一条基础要求!
lijdking 2003-05-31
  • 打赏
  • 举报
回复
A *m = new B; //是向上转换?
B *n = new A; //error 是向下转换?
DanielWYO 2003-05-29
  • 打赏
  • 举报
回复
class A{};
class B:public A{};

A *m = new B;
B *n = new A; //error!

70,032

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧