派生类直接覆盖基类里面的同名同类型函数啊!为什么那个函数非得是虚函数在基类里面?不是的话会怎样?

 我来答
unhappypeople
2011-04-07 · TA获得超过266个赞
知道小有建树答主
回答量:254
采纳率:0%
帮助的人:325万
展开全部
虚函数当且仅当用指针调用的时候才会有效果,以下是例子:
CB *pd = new CD();//new 一个子类,并把其赋给基类指针
pd->f();//如果f()是虚函数,那么调用CD类的f(),否则调用CB类的
追问
派生类直接覆盖基类里面的同名同类型函数啊,如果不是虚函数那也应该调用的是CD 类的啊?求解释·····一直对这点很混乱····
追答
CB *pd = new CD();//注意
pd->f();如果不是虚函数那么调用CB类的f()
虚函数当且仅当在new 一个子类,并把其赋给基类指针时才有作用
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式