#include <iostream>
class A {
public:
~A() {
std::cout << "~A";
};
};
class B: public A {
public:
virtual ~B() {
std::cout << "~B";
};
};
int main(int argc, char** argv) {
A *a = new B();
delete a;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPiAKIApjbGFzcyBBIHsgCnB1YmxpYzoKICB+QSgpIHsgCiAgICBzdGQ6OmNvdXQgPDwgIn5BIjsgCiAgfTsgCn07IAogCmNsYXNzIEI6IHB1YmxpYyBBIHsKcHVibGljOgogIHZpcnR1YWwgfkIoKSB7IAogICAgc3RkOjpjb3V0IDw8ICJ+QiI7IAogIH07IAp9OyAKIAppbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpIHsgCiAgQSAqYSA9IG5ldyBCKCk7IAogIGRlbGV0ZSBhOyAKICByZXR1cm4gMDsgCn0=