当前位置: 首页 > wzjs >正文

程序源码网站建设一个视频网站需要什么时候开始

程序源码网站,建设一个视频网站需要什么时候开始,网站地址免费,网站建设中模版用于向下转化。 父类引用指向指类对象 假设父亲是a, 子类是b. B* pb new B; 子类对象 A* pa 父类引用指向子类对象, 那么向上转化 Apa pb 这个是自动完成的,隐式转化,不需要dynamic_cast 向下转化指的是 A pa new B。 这个是指向子类对象…

用于向下转化。 父类引用指向指类对象

假设父亲是a, 子类是b.
B* pb = new B; 子类对象
A* pa 父类引用指向子类对象,
那么向上转化 Apa = pb 这个是自动完成的,隐式转化,不需要dynamic_cast
向下转化指的是
A
pa = new B。 这个是指向子类对象的父类引用, 转化为子类引用
B *b = dynamic_cast<B*>(pa)
总结就是 父类 向下转化为子类, 但是父类指针本身是指向子类的。
而不是说指向父类的指针转化为指向子类的指针,这个是无法转的。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2. 举例说明用法

首先,类X和类A都是基类,各自有虚析构函数。然后,类B公有继承自A,类C公有继承自B,所以C的继承链是C→B→A。接着,类D公有继承自X和C,也就是多重继承,D的基类是X和C,而C又继承自B和A。因此,D的继承结构应该是D同时继承X和C,而C又继承B和A。所以D的完整继承链是D→X,D→C→B→A。

现在来看各个选项:

选项A:D* pd = new D; A* pa = dynamic_cast<A*>(pd);
这里pd是D类型的指针,转换为A*。因为D继承自C,而C继承自B和A,所以D是A的派生类。因此,从D到A是上行转换(upcast),这种转换是安全的,不需要dynamic_cast,直接隐式转换即可**(父类引用指向子类对象,安全的,直接隐式转化)**。但即使使用dynamic_cast,结果也是有效的,pa会指向D对象中的A子对象部分。所以选项A的转换是合法的,结果成功。

选项B:B* pb = new B; D* pd = dynamic_cast<D*>(pb);
这里pb是B类型的指针,尝试转换为D*。因为D继承自C,而C继承自B,所以D是B的派生类。但pb实际指向的是B对象,而不是D对象。dynamic_cast在下行转换(downcast)时,会检查对象的实际类型是否为目标类型。由于pb指向的是B对象,而不是D对象,所以转换失败,返回nullptr。因此选项B的转换是合法的,但结果失败,pd为nullptr。

选项C:A* pa = new D; X* px = dynamic_cast<X*>(pa);
pa是一个指向D对象的A指针。D继承自X和C,而C继承自B和A。因此,D对象中包含X和A的子对象。这里要将A转换为X。由于A和X之间没有直接的继承关系,但因为D同时继承了X和C(而C继承自A),所以D对象中包含X和A的子对象。dynamic_cast在这种情况下,可以进行跨基类的转换,前提是两个基类都在同一个对象中。这里,pa指向的是D对象的A子对象,要转换到X子对象,需要通过D的类型信息。由于D确实继承自X,所以dynamic_cast应该可以找到X的子对象,转换成功。因此选项C的转换是合法的,结果成功,px指向D对象的X子对象。

选项D:A* pa = new C; C* pc = dynamic_cast<C*>(pa);
pa是一个指向C对象的A指针。因为C是A的派生类(C→B→A),所以这里从A到C是下行转换。由于pa实际指向的是C对象,dynamic_cast会检查类型是否匹配。因为C确实是A的派生类,所以转换成功,pc指向原来的C对象。所以选项D的转换是合法的,结果成功。

不过,我需要再仔细检查选项D的描述是否正确。实际上,C是A的派生类,所以存在继承关系。因此,选项D的dynamic_cast是合法的,且转换成功。

3. 原理说明:A* pa = new D; X* px = dynamic_cast<X*>(pa); 通过画出内存布局来解释,为什么可以使用转化

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

B* pb = new B; D* pd = dynamic_cast<D*>(pb); 通过内存布局分析这个为甚不可以转化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.dtcms.com/wzjs/553946.html

相关文章:

  • 深圳城乡和建设局网站湖南十大龙头企业
  • 网站开发属于哪个类目阿里云 wordpress搭建网站
  • 杭州网站开发平均工资辽阳建设网站找哪家
  • 音乐介绍网站怎么做的专业网站建设找哪家公司
  • 电脑做系统哪个网站比较好工信部网站备案平台
  • 网站管理后台下载asp网站访问量大
  • 安庆做网站的公司阿里云用什么系统做网站好
  • 域控制网站访问上海建设银行官网网站6
  • 做古玩生意哪些网站好江西建设厅网站电子
  • 自己做的网站怎么放到小程序网站在线做照片
  • 网站开发的税率是多少竞价托管优化公司
  • 网站制作切片电商热门关键词
  • 广州建设交易中心网站网络培训网站
  • 科技网站排名引流推广app
  • chrome不安全的网站设置wordpress获取文章内容过滤空格
  • 嘉兴网站系统总部网站建设成功案例
  • 上海响应式网站建设费用自己制作一个网页
  • 免费建站网站一站式seo李守洪排名大师
  • 网站首页成品用网站做成软件
  • 网站百度地图生成器网站建设摊销方法
  • 方案 网站godaddy
  • 专业的网站公司到哪里找上海公司代理注册公司
  • wordpress nextgen gallery网络优化软件下载
  • 网站解析是什么意思襄阳网站建设营销
  • 镇江网站建设top网站自然排名往后掉
  • 网站推广的方案设计怎么写做pc端网站资讯
  • 重庆网站建设沛宣找人做效果图那个网站
  • 东莞企业网站后缀互联网加盟
  • 做餐饮类网站用哪个程序中国建设银行产品信息网站
  • 网站用后台更换图片织梦网站统计