是否有任何理由指定一个函数,因为final
该类已经final
?或者这是多余的?
class B
{
public:
virtual void f();
};
class D final : public B
{
public:
virtual void f() final; // Redundant final?
};
Run Code Online (Sandbox Code Playgroud)
说一下这是一个很好的经验法则:从创建整个类开始final
,只有final
在需要派生类和/或覆盖特定函数时才切换到创建单独的函数?
这绝对是多余的,因为将整个类标记为final
使得不可能从该类派生并因此覆盖任何内容。
9个班级[班级]
- 如果一个类用 class-virt-specifier final 标记,并且它在基子句(第 10 条)中显示为基类型说明符,则该程序格式错误。
因此编译器甚至不会费心检查从final
类派生的类是否实际上尝试覆盖任何内容。
归档时间: |
|
查看次数: |
577 次 |
最近记录: |