1. ホーム
  2. c++

[解決済み] protected コンストラクタの実用的な使い方は?

2022-02-11 08:19:49

質問

なぜコンストラクタをprotectedと宣言するのでしょうか?コンストラクタが private 宣言されるのは、スタック上に生成できないようにするためだと知っています。

解決方法は?

クラスが抽象クラスである(と意図している)場合、protected コンストラクタはまさに正しいものです。そのような状況では、オブジェクトをクラスからインスタンス化するのではなく、クラスから継承するためにのみ使用することを望んでいます。

他にも、特定のコンストラクション・パラメータのセットを派生クラスに限定すべき場合などがあります。