gpt4 book ai didi

c++ - 使用最终类说明符时,最终函数说明符是否多余?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:36:44 27 4
gpt4 key购买 nike

当类已经是 final 时,是否有任何理由将函数指定为 final?还是那是多余的?

class B
{
public:
virtual void f();
};

class D final : public B
{
public:
virtual void f() final; // Redundant final?
};

这样说是否是一个好的经验法则:从使整个类成为 final 开始,只有在需要从类和/或重写特定函数?

最佳答案

这绝对是多余的,因为将整个类标记为 final 使得无法从此类派生并因此覆盖任何内容。

9 Classes [class]

  1. If a class is marked with the class-virt-specifier final and it appears as a base-type-specifier in a base-clause (Clause 10), the program is ill-formed.

因此编译器甚至不会去检查派生自 final 类的类是否真的试图覆盖任何东西。

关于c++ - 使用最终类说明符时,最终函数说明符是否多余?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43704769/

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