class Parent {
public:
Parent() {}
virtual ~Parent() {}
};
class Child : public Parent
{
public:
Child() {}
};
class Director
{
public:
Director() {doStuff(new Child);}
void doStuff(Parent* p) {}
};
int main() {
Director d;
}
Y2xhc3MgUGFyZW50IHsKcHVibGljOgogICAgIFBhcmVudCgpIHt9CiAgICAgdmlydHVhbCB+UGFyZW50KCkge30KfTsKCmNsYXNzIENoaWxkIDogcHVibGljIFBhcmVudAp7CnB1YmxpYzoKICAgICBDaGlsZCgpIHt9Cn07CgpjbGFzcyBEaXJlY3Rvcgp7CnB1YmxpYzoKICAgICBEaXJlY3RvcigpIHtkb1N0dWZmKG5ldyBDaGlsZCk7fQogICAgIHZvaWQgZG9TdHVmZihQYXJlbnQqIHApIHt9Cn07CgppbnQgbWFpbigpIHsKICAgIERpcmVjdG9yIGQ7Cn0K