#include <iostream>
using namespace std;
class One{
int *ptr;
public:
One(unsigned long long size):ptr(new int[size])
{
std::cout<<__FUNCTION__<<endl;
}
~One()
{
std::cout<<__FUNCTION__<<endl;
if(ptr)
delete[] ptr;
}
};
class Two{
int *ptr;
public:
Two(unsigned long long size): ptr(new int[size])
{
std::cout<<__FUNCTION__<<endl;
}
~Two()
{
std::cout<<__FUNCTION__<<endl;
if(ptr)
delete[] ptr;
}
};
class Wrapper{
One one;
Two two;
public:
Wrapper(unsigned long long s1, unsigned long long s2):
one(s1), two(s2)
{
std::cout<<__FUNCTION__<<endl;
}
~Wrapper()
{
std::cout<<__FUNCTION__<<endl;
}
};
int main() {
// your code goes here
Wrapper *w = new Wrapper(1,0x7FFFFFFF);
if (w) delete w;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgT25lewoJaW50ICpwdHI7CglwdWJsaWM6CglPbmUodW5zaWduZWQgbG9uZyBsb25nIHNpemUpOnB0cihuZXcgaW50W3NpemVdKQoJewoJCXN0ZDo6Y291dDw8X19GVU5DVElPTl9fPDxlbmRsOwoJfQoJfk9uZSgpCgl7CgkJc3RkOjpjb3V0PDxfX0ZVTkNUSU9OX188PGVuZGw7CgkJaWYocHRyKQoJCQlkZWxldGVbXSBwdHI7Cgl9Cn07CmNsYXNzIFR3b3sKCWludCAqcHRyOwoJcHVibGljOgoJVHdvKHVuc2lnbmVkIGxvbmcgbG9uZyBzaXplKTogcHRyKG5ldyBpbnRbc2l6ZV0pCgl7CgkJc3RkOjpjb3V0PDxfX0ZVTkNUSU9OX188PGVuZGw7CgkJCgl9Cgl+VHdvKCkKCXsKCQlzdGQ6OmNvdXQ8PF9fRlVOQ1RJT05fXzw8ZW5kbDsKCQlpZihwdHIpCgkJCWRlbGV0ZVtdIHB0cjsKCX0KfTsKCmNsYXNzIFdyYXBwZXJ7CglPbmUgb25lOwoJVHdvIHR3bzsKCXB1YmxpYzoKCVdyYXBwZXIodW5zaWduZWQgbG9uZyBsb25nIHMxLCB1bnNpZ25lZCBsb25nIGxvbmcgczIpOgoJb25lKHMxKSwgdHdvKHMyKQoJewoJCXN0ZDo6Y291dDw8X19GVU5DVElPTl9fPDxlbmRsOwoJfQoJfldyYXBwZXIoKQoJewoJCXN0ZDo6Y291dDw8X19GVU5DVElPTl9fPDxlbmRsOwoJfQp9OwppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCVdyYXBwZXIgKncgPSBuZXcgV3JhcHBlcigxLDB4N0ZGRkZGRkYpOwoJaWYgKHcpIAlkZWxldGUgdzsKCXJldHVybiAwOwp9