>>522
なるほど。そこまで想定してませんでした。

class Widget
{
public:
~virtual Widget( );
} ;

class Derived : public Widget
{
public:
~Derived( ) ;
static void operator delete ( void* ) ;
}

Widget *p = new Derived ;

省略して書きましたが、上のような場合

delete p ;

は

D::~D( ) ;
Widget::~Widget( ) ;
Derived::operator delete ( p ) ;

ということですね。