gpt4 book ai didi

c++ - 将 override 和 final 关键字与同一个成员函数一起使用有用吗?

转载 作者:搜寻专家 更新时间:2023-10-31 00:13:13 25 4
gpt4 key购买 nike

将成员函数声明为 override 和 final 有用吗?为什么或者为什么不?

最佳答案

override 确保函数是虚拟的并且覆盖父类(super class)定义(否则会产生编译时错误),而 final 意味着子类不能覆盖它更远。所以,是的,当您重写父类(super class)函数并且您不希望子类再次重写它时,这是非常有意义的。

例如,考虑以下层次结构:

class A {
public:
virtual void foo() {}
};

class B: public A {
public:
void foo() override final {} // <-- Overrides A::foo
};

class C: public B {
public:
//void foo() override {} <-- Error here!
};

关于c++ - 将 override 和 final 关键字与同一个成员函数一起使用有用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27601917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com