假设我有一个基类:
struct Base
{
virtual void foo();
};派生类是最终的struct A final : public Base。将成员函数也设为final有意义吗?我在几个地方看到过,例如:
struct A final : public Base {
void foo() final;
}我不确定它是否提供了任何值,因为在这种情况下,如果类本身是final的,我猜所有的成员函数默认也是final。我是不是遗漏了什么?有什么指导原则吗?
发布于 2020-02-07 17:52:05
如果结构或类(在本例中为A)为final,则不能声明另一个继承它的结构或类。因此,没有必要同时将任何方法声明为final。
也许这在某些地方是一种约定,以明确该方法也不能被覆盖(就像是对结构的final的“提醒”)。
https://stackoverflow.com/questions/60110222
复制相似问题