c++函数覆盖问题。

基类定义了一个虚函数fun,然后子类覆盖它。1)将一个子类对象赋给基类指针,那么基类->fun,基类调用的是子类的覆盖版本。那么子类->fun调用的是子类的版本还是基类的... 基类定义了一个虚函数fun,然后子类覆盖它。
1)将一个子类对象赋给基类指针,那么基类->fun,基类调用的是子类的覆盖版本。
那么子类->fun调用的是子类的版本还是基类的版本?
2)基类->fun和子类->fun哪个属于虚函数的覆盖?
展开
 我来答
hubingdi1984
2012-10-31 · TA获得超过1.1万个赞
知道大有可为答主
回答量:9437
采纳率:86%
帮助的人:9294万
展开全部
覆盖,英文是override,也译为重写。是子类重写基类的虚函数,从而使得子类中从基类集成的虚函数被覆盖不可见。而虚函数的多态就是通过这个方式来实现的。
1.子类->fun将调用自己的fun,基类的fun被覆盖不可见。
2.你这个问题说明你对覆盖的意思不明。应该说,子类中如果重写了基类的虚函数,那么该子类重写的这个fun就覆盖了基类的fun。
所以,子类->fun覆盖了从基类集成过来的基类->fun。
jayjolinmiri
2012-10-31 · TA获得超过443个赞
知道小有建树答主
回答量:535
采纳率:100%
帮助的人:345万
展开全部
覆盖了vtable函数就被覆盖了.之前的就没有了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
信念相信
2012-11-06
知道答主
回答量:31
采纳率:0%
帮助的人:9.7万
展开全部
首先明确虚函数的概念,虚函数是满足通过基类指针对同名成员函数的访问,对基类指针,对它赋不同的值:派生类对象或者基类对象会调用对应不同类的函数!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式