C++11 override 关键字

本文详细阐述了override在C++中如何确保虚函数的正确重写,包括其用法、目的和编译器辅助检查的意义。通过实例说明,讲解了如何在基类和派生类中正确应用override,以及为什么在mf4函数上可选标记virtual。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       如果派生类在虚函数声明时使用了override描述符,那么该函数必须重写其基类中的同名函数,否则代码将无法通过编译。在函数后面加override,可以显式的将派⽣类函数指定为应该是基类重写版本。override 主要用在基类中,用于辅助编译器检查重写函数是否正确,比如:参数、返回值、函数名称等是否和基类函数一致。

class Base {
public:
    virtual void mf1() const;
    virtual void mf2(int x);
    virtual void mf3() &;
    virtual void mf4() const;
};
class Derived: public Base {
public:
    virtual void mf1() const override;
    virtual void mf2(int x) override;
    virtual void mf3() & override;
    void mf4() const override; // 可以添加virtual,但不是必要
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值