0

抽象クラスがありCAbstract、このタイプのメンバーを別のクラスに入れたいですCClass。ポインタにすると、自分で削除する必要がありますので、避けたいと思います。

  • 参照すると、が削除されると自動的にCClass削除されますか?
  • 作ってもshared_ptrいいですか?shared_ptr抽象クラスを管理し、派生クラスを指すことはできますか?
4

1 に答える 1

3

参照は自動的に割り当てを解除しません。shared_ptrします。C ++のルールに従っている限り、継承状況を適切に処理する必要があります。より具体的には、参照カウントがゼロに低下すると、shared_ptrのデストラクタがデフォルトで呼び出されるため、動作させるには()デストラクタを適切にdelete実装する必要があります。virtualshared_ptr

于 2012-12-03T09:28:36.787 に答える