コードの形式は次のとおりです。
class C
{
public:
C();
virtual ~C() = 0;
};
class D : public C
{
public:
D();
~D();
};
C::C(){
}
C::~C(){
}
D::D(){
}
D::~D(){
}
int main(){
C *c = new C();
D *d = new D();
return 0;
}
インスタンス化しようとするc
と、次のエラーが発生します。
1>c:\main.cpp(59): error C2259: 'C' : cannot instantiate abstract class
仮想デストラクタとは呼べないことは知っていますが、その概念についてはひどくわからないことがあります。誰かが私を説明できますか?