基本クラスでデストラクタを宣言、実装してない場合
それを派生したクラスをdeleteするとき、デクトラクタが呼ばれませんが
これはこれで 正しかったのでしょうか?
#include <stdio.h>
class CBase
{
public:
virtual void Show();
};
void CBase::Show()
{
printf( "CBase::Show.\n" );
}
class CDev : public CBase
{
public:
CDev();
~CDev();
void Show();
};
CDev::CDev()
{
printf( "CDev construct.\n" );
}
CDev::~CDev()
{
printf( "CDev destruct.\n" );
}
void CDev::Show()
{
printf( "CDev::Show.\n" );
}
void main()
{
CBase *obj = new CDev;
obj->Show();
delete obj;
}