C++: final
整理自 C++ Primer, 5th Edition
Preventing Inheritance
Under the new standard, we can prevent a class from being used as a base by following the class name with final
:
class NoDerived final { /* */ }; // NoDerived can't be a base class
class Base { /* */ };
class Last final : Base { /* */ }; // Last can't be a base class
Preventing Overriding
We can also designate a function as final. Any attempt to override a function that has been defined as final will be flagged as an error.
Comments