最后的类和结构

Version >= C++ 11

使用 final 说明符可能禁止派生类。让我们声明一个最后的类:

class A final {
};

现在任何子类化的尝试都会导致编译错误:

// Compilation error: cannot derive from final class:
class B : public A {
};

最终类可能出现在类层次结构的任何位置

class A {
};

// OK.
class B final : public A {
};

// Compilation error: cannot derive from final class B.
class C : public B {
};