仮想デストラクタについて混乱しています。多くの質問と説明を読みましたが、基本クラスから派生したクラスがある場合、特別な操作がなくても独自のデストラクタを実装する必要があることをまだ理解していません。
コンパイラは以下のコードをコンパイルしますが、メモリ リークや問題はありますか?
Class Base{
public:
virtual ~Base(){}
};
Class Derived : public Base{
// do i need a special destructor here for Derived ?
}
Base *foo;
foo = new Derived;
delete foo;