C++の基礎 - クラス
提供: MochiuWiki : SUSE, EC, PCB
📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
概要
実体化の禁止
C++11以降では、デフォルトコンストラクタとデストラクタにdeleteキーワードを指定することにより、実体化を禁止することができる。
メンバにdeleteキーワードを指定する場合は、publicに記述することがセオリーである。
// C++11以降
class CSampleClass final
{
public:
CSampleClass() = delete;
~CSampleClass() = delete;
public:
static int Add(int x, int y)
{
return x + y;
}
};
Visual C++では、abstractキーワードが使用できるため、abstract sealedまたはabstract finalを指定することにより、staticクラスを記述することができる。
ただし、その場合は、他のプラットフォームではそのまま移植できないことに注意が必要となる。
また、Visual C++では、コンパイルオプションに/permissive-を付加することにより、独自拡張を無効化することもできる。