C & C++ FAQ
目次
C++11
継承を抑制するクラスを定義することはできますか。
クラス定義の際に、final指定を行うことによって、そのクラスの継承を行う派生クラスを作ることが抑制できます。以下に示すのが、その定義の形式例です。
class A final { // … 中略 … };
このように定義されたクラスは、一般に“finalクラス”と呼ばれます。
第3版より前のC++との互換性を保つために、finalは、キーワードとしい扱われず、“(文脈によって)特別な意味をもつ識別子”として扱わています。そのため、finalという名前のクラスを定義することも可能です。
class final final { // … 中略 … };
■ 根拠 ■
標準C++ 第3版
§2.11
Identifiers
標準C++ 第3版
§10
Classes
戻る