#include <iostream>
using namespace std;
class A {
public:
A() {
cout << "A created" << endl;
}
virtual ~A() {
cout << "A deleted" << endl;
}
};
class B : public A {
public:
B() {
cout << "B created" << endl;
}
~B() {
cout << "B deleted" << endl;
}
};
int main() {
// your code goes here
A* obj = new B();
long test = (long)obj;
delete (A*)test;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgQSB7CglwdWJsaWM6CglBKCkgewoJCWNvdXQgPDwgIkEgY3JlYXRlZCIgPDwgZW5kbDsKCX0KCXZpcnR1YWwgfkEoKSB7CgkJY291dCA8PCAiQSBkZWxldGVkIiA8PCBlbmRsOwoJfQp9OwoKY2xhc3MgQiA6IHB1YmxpYyBBIHsKCXB1YmxpYzoKCUIoKSB7CgkJY291dCA8PCAiQiBjcmVhdGVkIiA8PCBlbmRsOwoJfQoJCgl+QigpIHsKCQljb3V0IDw8ICJCIGRlbGV0ZWQiIDw8IGVuZGw7Cgl9Cn07CgppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCQoJQSogb2JqID0gbmV3IEIoKTsKCQoJbG9uZyB0ZXN0ID0gKGxvbmcpb2JqOwoJCglkZWxldGUgKEEqKXRlc3Q7CglyZXR1cm4gMDsKfQ==