问题很简单,像这样使用final有什么区别,
class Base {
public:
Base() {}
virtual ~Base() {}
virtual void Initialize() {}
};
class Derived final : public Base {
public:
Derived() {}
~Derived() {}
virtual void Initialize() override {}
};像这样使用override final,
class Base {
public:
Base() {}
virtual ~Base() {}
virtual void Initialize() {}
};
class Derived : public Base {
public:
Derived() {}
~Derived() {}
virtual void Initialize() override final {}
};发布于 2021-01-25 00:34:20
第一个案例锁定了类。以下内容将导致错误:
class Derived2 : public Derived{};第二个方法禁止任何继承它的类重新定义final方法。
发布于 2021-01-25 00:32:30
在方法上使用final可确保如果另一个类继承自该类,则不允许重写该方法。
在一个类上使用final意味着这个类根本不能派生。
https://stackoverflow.com/questions/65873079
复制相似问题