在C++中何处使用override关键字

10 c++ c++11

这是使用一种理想的文件override在C++中的标识符.h.cpp

war.h

class TimeStone : public InfinityStone
{
private:
    bool capturedByThanos() override; #1
};
Run Code Online (Sandbox Code Playgroud)

war.cpp

bool TimeStone::capturedByThanos() override #2
{
    return true;
}
Run Code Online (Sandbox Code Playgroud)

Sto*_*ica 25

在类的成员规范之外定义函数时,不能放置重写说明符.语言不允许,编译器会抱怨.所以真的只有一个选择.

除此之外,这个选项也更有意义.声明函数时,您表示有意覆盖它.所以把override 放在表达你的意图的意义上是有道理的.这就是你要求编译器在这里检查,你的意图覆盖.声明也足以验证函数最初被声明为虚拟并且您获得了正确的签名.