cout << "IBar@" << STATIC_CAST(void*, this) << "::~IBar()" << endl;
printf("IBar@%p::~IBar()\n", STATIC_CAST(void*, this));
IBar::~IBar()  {    cout << "IBar@" << STATIC_CAST(void*, this) << "::~IBar()" << endl;  }