说我有基类:
struct Base
{
virtual void foo();
};
并且派生类是最终的struct A final : public Base
。也使成员函数final
有意义吗?我已经在几个地方见过,例如
struct A final : public Base {
void foo() final;
}
我不确定在这种情况下它是否提供任何值,就好像类本身是final
一样,我猜所有成员函数在默认情况下也都是final
。我想念什么吗?有指导原则吗?
[如果结构或类(在您的情况下为A
)为final
,则不能声明另一个继承它的结构或类。因此,无需将任何方法都声明为final
。
也许这是在某些地方的约定,需要明确的是,也不能重写此方法(仅作为对结构final
的“提醒”)。