1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include <iostream> struct Base { void operator delete(void * p) { std::cout << "delete B called\n"; ::operator delete(p); } virtual ~Base() {} }; struct D : public Base { void operator delete(void * p) { std::cout << "delete D called\n"; ::operator delete(p); } virtual ~D() { std::cout << "D Destructor called\n"; } }; int main() { Base* b=new D(); delete b; } |
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IEJhc2UKewogIHZvaWQgb3BlcmF0b3IgZGVsZXRlKHZvaWQgKiBwKSB7IHN0ZDo6Y291dCA8PCAiZGVsZXRlIEIgY2FsbGVkXG4iOyA6Om9wZXJhdG9yIGRlbGV0ZShwKTsgfQogIHZpcnR1YWwgfkJhc2UoKSB7fQp9OwoKc3RydWN0IEQgOiBwdWJsaWMgQmFzZQp7CiAgdm9pZCBvcGVyYXRvciBkZWxldGUodm9pZCAqIHApIHsgc3RkOjpjb3V0IDw8ICJkZWxldGUgRCBjYWxsZWRcbiI7IDo6b3BlcmF0b3IgZGVsZXRlKHApOyB9CiAgdmlydHVhbCB+RCgpIHsgc3RkOjpjb3V0IDw8ICJEIERlc3RydWN0b3IgY2FsbGVkXG4iOyB9Cn07CgppbnQgbWFpbigpCnsKICBCYXNlKiBiPW5ldyBEKCk7CiAgZGVsZXRlIGI7Cn0=
-
upload with new input
-
result: Success time: 0s memory: 2960 kB returned value: 0
D Destructor called delete D called


