VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 142|回复: 3

[求助] 关于C++类对象向上转换

[复制链接]
35_avatar_middle
在线会员 Jeff_ 发表于 2018-11-4 11:30:31 | 显示全部楼层 |阅读模式
5驿站币
看书的时候看到 关于C++类对象向上转换 , brass是基类,brassplus是继承类,实现向上强制转换。
然后 又看到 关于C++类对象向上转换 关于C++类对象向上转换 关于C++类对象向上转换 ,看到解释说这个多态。
请教一下在向上强制转换属于多态的一部分吗,还有在多态中使用new分配是为了实现动态内存分配吗?因为书上一比带过这是多态,没有具体的解释,所以这里对new分配不是很清楚,请教下各位。

最佳答案

查看完整内容

因为派生类比基类有更多的成员变量或者成员函数,所以从基类的指针指向派生类的对象不会引起安全问题,可以这么做的。一般这种情况都是通过指针或者引用来操作,普通对象很少有这么转换的 常用的地方比如虚函数的调用,那么就是通过基类的指针指向派生类的对象,调用的虚函数的时候最后调用的是派生类的函数。




上一篇:ping ICMP
下一篇:vs2017中C++打开文件的问题

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

51_avatar_middle
online_admins Syc 发表于 2018-11-4 11:30:32 | 显示全部楼层
因为派生类比基类有更多的成员变量或者成员函数,所以从基类的指针指向派生类的对象不会引起安全问题,可以这么做的。一般这种情况都是通过指针或者引用来操作,普通对象很少有这么转换的

常用的地方比如虚函数的调用,那么就是通过基类的指针指向派生类的对象,调用的虚函数的时候最后调用的是派生类的函数。

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

35_avatar_middle
ico_lz  楼主| Jeff_ 发表于 2018-11-4 13:04:29 | 显示全部楼层
Syc 发表于 2018-11-4 12:28
因为派生类比基类有更多的成员变量或者成员函数,所以从基类的指针指向派生类的对象不会引起安全问题,可以 ...

我其实是对这里的New分配比较糊涂,之前以为new是用来动态分配内存的,又有人告诉我跟这没关系。
所以想要问一下这里使用new关键字的作用。

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

75_avatar_middle
在线会员 coldBro 发表于 2018-11-4 14:05:31 | 显示全部楼层
new不能理解为多态。只是创建对象。
基类指针可以指向基类和派生类。
多态其实是指虚函数。
不同子类虚函数写法不同,效果也就不同。基类指针指向某个具体的子类时,会调用该子类的虚函数。这个才是多态。

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /1 下一条

QQ
QQ在线咨询
联系电话
13591366679
手机扫一扫 关注本站精彩内容
wxqrcode

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2018-11-14 20:16

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表