ユーザ用ツール

サイト用ツール


サイドバー

C++/CLI

CLR

実用編

その他

cli:abstract_sealed

abstract, sealed

abstract, sealedという2つキーワードが追加されています。ここではこれらをクラス修飾に用いた場合の説明です。

以下のようにクラスCをabstractにすると、そのクラスをインスタンス化することができなくなります。

ref class C abstract {
    int i;
};
int main() {
    C c;  // error
    C^ d = gcnew C;  // error
}

sealedをつかってクラスを定義すると、そのクラスから継承することができなくなります。

ref class D sealed {
    int i;
};
ref class D2 : D  // error
{
};
int main() {
}

abstractとsealedを両方指定することもできます。この場合クラスはインスタンス化することも継承することもできなくなります。staticなメンバーのみ持つクラスに指定する場合があります。




/var/www/html/virtual/cppcli/data/pages/cli/abstract_sealed.txt · 最終更新: 2013/12/23 09:08 (外部編集)