オブジェクトを下の様な方法で解放する場合、何か問題が起こる場合はあるでしょうか?
(実際にはユーザー定義のデストラクタがあります)
抽象クラスAから派生した複数の型のクラスを格納して一括して解放したいのですが‥‥

class A
{
 public: virtual void Delete() = 0;
};

class B : public A
{
 public: virtual void Delete() { delete this; }
};

main()
{
 B *b = new B;
 A *a = b;
 a->Delete();
}