C++11 override关键字

override关键字用于指明被修饰的函数必须是重载了基类的函数。

在类的继承时,C++的基类中声名一个虚函数时,在子类中如果重载时,可以不需要再加virtual关键字。但有的时候,由于拼写的错误,并不能将函数名书写正确,所以重载就失败了,而这种问题在编译过程时并不报错,所以有时为了调试这个BUG,会耗费大量的时间。

以下代码

class A
{
public:
    virtual void print()
    {

    }
};

class B : public A
{
public:
    void pirnt() override  //此处报错
    {

    }
};

我们在A类中实现了一个虚函数print,B类继承于A,所以我们需要重载print函数,但在并写时,误将print拼写成pirnt,而这个代码在编译时是没有错误产生时。
所以如果我们给B类中重载的函数pirnt加上 override,会强制编译器重载检查,这时会产生错误。

取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

Powered by bytekits.com,汇天下文字,成非凡梦想!!!