首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

override specifier

指定虚函数重写另一个虚拟函数。

句法

标识符override,如果使用,则在报关员在类定义中的成员函数声明或成员函数定义的语法中。

declarator virt-specifier-seq(optional) pure-specifier(optional)

(1)

?

declarator virt-specifier-seq(optional) function-body

(2)

?

1%29在成员函数声明中,override可能会在紧接声明符之后的virt-说明符-seq中出现,并且出现在纯说明符,如果使用的话。

2%29在类定义中的成员函数定义中,override可能会出现在virt-说明符-seq中,紧接声明器之后和函数体之前。

在这两种情况下,如果使用virt-说明符-seq,则为override或最终,或final overrideoverride final...

解释

在成员函数声明或定义中,override确保该函数是虚拟的,并且正在重写基类中的虚拟函数。程序格式不正确的%28a编译时错误将生成%29,如果这不是真的话。

override在成员函数声明器之后使用时具有特殊含义的标识符:否则,它将%27 s不是保留关键字。

二次

代码语言:javascript
复制
struct A
{
    virtual void foo();
    void bar();
};
 
struct B : A
{
    void foo() const override; // Error: B::foo does not override A::foo
                               // (signature mismatch)
    void foo() override; // OK: B::foo overrides A::foo
    void bar() override; // Error: A::bar is not virtual
};

二次

另见

  • 最终说明符%28自C++11%29
代码语言:txt
复制
 ? cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com