#include <iostream>
using namespace std;
class A {
public:
A() {}
virtual ~A() {}
};
class B : public A {
public:
B();
~B();
};
class C {
public:
C(B*b=0) : b(b) {}
~C() { delete b; }
private:
B* b;
};
int main() {
C c(new B);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKCmNsYXNzIEEgewpwdWJsaWM6CiAgQSgpIHt9CiAgdmlydHVhbCB+QSgpIHt9Cn07CmNsYXNzIEIgOiBwdWJsaWMgQSB7CnB1YmxpYzoKICBCKCk7CiAgfkIoKTsKfTsKCmNsYXNzIEMgewpwdWJsaWM6CiAgQyhCKmI9MCkgOiBiKGIpIHt9CiAgfkMoKSB7IGRlbGV0ZSBiOyB9IApwcml2YXRlOgogIEIqIGI7Cn07CgppbnQgbWFpbigpIHsKCUMgYyhuZXcgQik7CglyZXR1cm4gMDsKfQ==