最後的類和結構

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 {
};