社区
C语言
帖子详情
向上转换以及避免“向下转换”继承层次!不大理解
lijdking
2003-05-29 09:03:38
如题!
在Effective C++里看的,不理解
有哪位大侠能给初学者讲讲,最好举个例子!
感谢之中!
...全文
39
3
打赏
收藏
向上转换以及避免“向下转换”继承层次!不大理解
如题! 在Effective C++里看的,不理解 有哪位大侠能给初学者讲讲,最好举个例子! 感谢之中!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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!
向上
类型
转换
VS
向下
类型
转换
子类
转换
成父类时的规则: 将一个父类的引用指向一个子类的对象,称为
向上
转型(upcasting),自动进行类型
转换
。此时通过父类引用调用的方法是子类覆盖或
继承
父类的方法,不是父类的方法。 此时通过父类引用变量无法调用子类特有的方法; 如果父类要调用子类的特有方法就得将一个指向子类对象的父类引用赋给一个子类的引用,称为
向下
转型,此时必须进行强制类型
转换
。 package class01; public class demo { public static void main(String[] a
全面解析C++对象的
向上
和
向下
类型
转换
”
向下
类型
转换
是将基类对象的指针或引用
转换
为派生类类型的指针或引用。这种
转换
不自动进行,因为一个基类可以有多个派生类,需要进行运行时类型识别(RTTI)。总结,
理解
向上
和
向下
类型
转换
以及指针和引用之间的
转换
是对C++
继承
机制的深入掌握。
向上
类型
转换
自动且安全,而
向下
类型
转换
需要。
向上
类型
转换
是将派生类对象的指针或引用
转换
为基类类型的指针或引用。它是自动、安全的,不需要显式的类型
转换
操作。,这是一个
向上
类型
转换
。这种类型
转换
是自动且安全的,因为派生类对象始终包含基类对象。这是一个
向下
类型
转换
,需要。
C++--
向上
转换
和
向下
转换
向上
转换
和
向下
转换
:都是指针或者引用的
转换
,不是普通对象的
转换
向上
转换
:子类向基类的
转换
,比如,derived_class d ;base_class *b = derived_class &d;
向下
转换
:安全性没有保障,基类向子类
转换
,比如,base_class b; derived_class *d = (derived_class*) &b; 我们会发现,
向下
转换
的时候需要进行类型转化,因为&b只知道了实例b的地址和内部构造(这是base_class的构造),与d..
Java
向上
类型
转换
与
向下
类型
转换
的
理解
【复习】
今天在回顾 Java 知识的时候碰到了这个知识点,正好重新巩固一下。 在面向对象编程中,因为子类与父类存在集成关系,所以对象类型存在着
转换
,包括
向上
类型
转换
和
向下
类型转化。 1.
向上
类型
转换
是指将子类对象的引用转化为父类对象的引用,用个例子说明一下: //父类: public class ParentClass { public void print() { System.out.println("父类方法"); } } // 子类 public class ChildClass extends
C++类
继承
的
向上
类型
转换
和
向下
类型
转换
众所周知,子类对象可以强制
转换
为父类或者赋值给父类,按父类来引用子类一般是正确的,这种
转换
叫做
向上
强制类型
转换
。如果说这种
转换
或者是赋值是直接在对象上进行操作的,那么会发生切割问题,原因是父类对象没有子类自己定义的附加功能。例: class Person { public:
C语言
70,032
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章