#include <iostream>
struct widget
{
virtual ~widget(void) = 0;
virtual void method(void)
{
std::cout << __FUNCTION__ << std::endl;
}
};
widget::~widget(void)
{
}
struct gadget : widget
{
};
int main(void)
{
gadget g;
// widget w; // ng
widget *p = new gadget;
// widget *q = new widget; // ng
return 0;
}