C++虚函数解析

课本上、考试里总会碰到虚函数的概念,可是一直对它的理解不是太深。现在抽时间整理一下虚函数的相关知识。

虚函数是重载的另一种表现形式。这是一种动态的重载方式,它提供了一种更为灵活的多态性机制。虚函数允许函数调用与函数体之间的联系在运行时才建立,也就是在运行时才决定如何动作,即所谓的动态联编。

定义:

虚函数的定义是在基类中进行的,它在基类中需要定义为虚函数的成员函数的声明中冠以关键字virtual,从而提供了一种接口界面。定义虚函数的方法如下:

virtual 函数类型 函数名(形参)
{
     函数体
}
在基类中的某个成员函数被声明为虚函数后,此虚函数就可以在一个或多个派生类中被重新定义。在派生类中重新定义时,其函数原型、函数名、参数个数、参数类型的顺序,都必须与基类中的原型完全相同。
几个说明:

(1)在基类中,用关键字virtual可以将其public或protected部分的成员函数声明为虚函数;

(2)在派生类中对基类中声明的虚函数进行重新定义时,关键字virtual可以重写也可以不写。但在容易引起混乱的情况下,最好在派生类的虚函数进行重新定义时也加上关键字virtual。

(3)虚函数在被重新定义时,其函数原型与基类中的函数原型必须完全相同。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值