最近、次のような質問を受けました。
あなたは、他の人が個人的に使用するために派生できるようにする基本クラスを作成しています。あなたが書いている Base クラスを誰もインスタンス化できないようにしたい (派生クラスのオブジェクトのみ)。クラスをどのように実装しますか?
私は2つの解決策を考えました:
1 つは、基本クラスを抽象化することです (純粋な仮想関数を追加することによって)。
次に、コンストラクターを保護されたセクションの下に配置して、外部から誰もそのインスタンスを作成できず、派生クラスのみを作成できるようにします。
私の質問は、私のソリューションの違いは何ですか(あなたが考えることができるすべての面で)?
ありがとう。