struct A {
int *p;
A(unsigned n) : p(new int[n]) {}
~A() { delete [] p; }
};
struct B : A
{
B() : A(4) {}
};
int main()
{
A *a = new B();
delete a;
return 0;
}
c3RydWN0IEEgewogIGludCAqcDsKICBBKHVuc2lnbmVkIG4pIDogcChuZXcgaW50W25dKSB7fQogIH5BKCkgeyBkZWxldGUgW10gcDsgfQp9OwogCnN0cnVjdCBCIDogQQp7CiAgQigpIDogQSg0KSB7fQp9OwogCmludCBtYWluKCkKewogIEEgKmEgPSBuZXcgQigpOwogIGRlbGV0ZSBhOwogCiAgcmV0dXJuIDA7Cn0=