3
たちは、クラスクラスに仮想関数がある場合、暗黙的に生成されたデストラクタも仮想ですか?
class A
{
virtual void f();
};
があるとデフォルトのデストラクタは仮想でしょうか?
たちは、クラスクラスに仮想関数がある場合、暗黙的に生成されたデストラクタも仮想ですか?
class A
{
virtual void f();
};
があるとデフォルトのデストラクタは仮想でしょうか?
いいえ。デストラクタは、virtual
であると明示的に言わない限り、またはクラスがvirtual
デストラクタを持つ基本クラスを持っていない限り、常に非virtual
です。
まあ、私はちょうど私のコードで大きなメモリリークを発見したと思います...迅速な応答ありがとう! – user3496846
これは「あなたが使っていないものを支払わない」という精神の中にあるのでしょうか? (すなわち、あなたが継承していなければ、仮想である必要はありません。はい、私は仮想関数がそのことを示していることを知っていますが...) – Borgleader
@Borgleader Yep。 – Barry