当前位置: 首页 > 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/96061.html

相关文章:

  • 可以做直播卖产品的网站如何百度收录自己的网站
  • 网站页面模板页面布局成都网络优化托管公司
  • 专业做网站的团队长沙百度地图
  • 淘宝客如何免费做网站网站制作报价
  • 织梦做网站教程快速优化seo
  • 网站没有被搜索引擎收录欧洲站fba
  • wordpress引入html代码seo网站优化服务
  • 跨境电商平台有哪些类型百度seo查询工具
  • 商城网站建设开发公司网络营销平台名词解释
  • 淮北网站建设百度搜索风云榜排名
  • 深度苏州自媒体公司seo优化外包公司
  • 正规手机网站建设平台百度老年搜索
  • 弥勒网站设计公司成都移动seo
  • 网站建设演示ppt模板下载集客营销软件
  • java做网站的好处软文是啥意思
  • 丹东电信网站备案seo什么职位
  • 为什么动态网站要建设虚拟目录百度认证营销推广师
  • 亦庄专业网站开发公司注册google账号
  • 网站建设小公司生存app开发公司推荐
  • 大型旅游网站微指数
  • 网站建设提案怎么写百度竞价推广点击器
  • 网站开发软硬件环境是指什么网站优化技术
  • 河南那家做网站实力强今日头条新闻军事
  • 网站开发角色分配权限引流人脉推广软件
  • 做网站公司如何赚钱营销网站做的好的公司
  • 成都麦卡网络做网站开发怎么样建设网站
  • 衢州酷网站制作seo推广软件排行榜
  • 做兼职网站的项目方案南宁一站网网络技术有限公司
  • 网站制作模板百度网盘设计本网站
  • 用dw做网站维护教程网站快速排名推广软件