gpt4 book ai didi

c++ - 在没有基类(非派生)的类中为虚函数添加 final 关键字是否有意义

转载 作者:IT老高 更新时间:2023-10-28 12:50:29 26 4
gpt4 key购买 nike

我正在阅读一篇很棒的 awesome C++11 tutorial并且作者在解释 final 关键字时提供了这个例子:

struct B {
virtual void f() const final; // do not override
virtual void g();
};
struct D : B {
void f() const; // error: D::f attempts to override final B::f
void g(); // OK
};

那么在这里使用 final 关键字有意义吗?在我看来,您可以避免在此处使用 virtual 关键字并防止 f() 被覆盖。

最佳答案

如果不将函数标记为virtualfinal,那么子类仍然可以实现该函数并隐藏基类函数。

通过使函数virtualfinal,子类不能重写隐藏函数。

关于c++ - 在没有基类(非派生)的类中为虚函数添加 final 关键字是否有意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44153281/

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