为什么可以为父类指针new子类对象,而不能为子类指针new父类对象?

为什么指向父类的函数指针不能指向子类的函数(不谈强制类型),而指向子类的函数指针可以指向父类函数... 为什么指向父类的函数指针不能指向子类的函数(不谈强制类型),而指向子类的函数指针可以指向父类函数 展开
 我来答
AndrewWu1990
推荐于2017-11-25
知道答主
回答量:24
采纳率:0%
帮助的人:9万
展开全部
因为子类包含有父类,把子指针赋给父指针时其实只是把子类中父类部分的地址赋给了父类指针而已,而父类里没有包含子类,所以不能复制,建议楼主变个程序然后再对照看下汇编就清楚了
追问
为什么指向父类的函数指针不能指向子类的函数(不谈强制类型),而指向子类的函数指针可以指向父类函数,这个问题呢?
追答
当然啦,因为子类继承了父类,所以说他里面就有了父类的函数,所以可以指向啊,但是父类里没有子类的函数,就像结构体指针一样,他怎么能指向一个结构体里根本就没有的变量呢
Roxxette
2013-03-29 · TA获得超过828个赞
知道小有建树答主
回答量:1341
采纳率:0%
帮助的人:821万
展开全部
通俗点讲,就是子类包含父类,所以子类对象比父类对象要大。
用大的模拟小的可以(切片),小的模拟大的就不行(越界操作)。
所以子类指针可以安全转换成父类指针,而反之不行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
咎珈蓝禧0F2
2018-04-23
知道答主
回答量:2
采纳率:0%
帮助的人:1678
展开全部
就像爸爸生儿子,儿子不能生爸爸一样。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友440d3a2
2013-03-29 · TA获得超过672个赞
知道小有建树答主
回答量:1557
采纳率:37%
帮助的人:322万
展开全部
开始研发的人就是这么定义的!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式