Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
仮想コンストラクタを使用できるのに仮想コンストラクタを使用できないのはなぜですか?
new ClassName()コンストラクターチェーンは、可能な限り最も具体的なクラスから常に使用するため、コンパイル時に決定できます。
new ClassName()
ただし、ポリモーフィズムを使用する場合は、親クラスの可能性があるデストラクタを呼び出すため、コンパイル時にチェーンをどこから開始するかを知ることができません。常に適切なものを呼び出すには、仮想関数が必要です(または、最も具体的なクラスで、クリーンアップされていない可能性のあるリソースが発生する可能性があります)。