BohYoh.comトップページへ
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

戻る

BohYoh.comロゴ