#include <iostream>
class Base
{
public:
virtual ~Base()=0; // Pure virtual destructor
};
class Derived : public Base
{
public:
~Derived()
{
std::cout << "~Derived() is executed";
}
};
int main()
{
Derived d;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgQmFzZQp7CnB1YmxpYzoKICAgIHZpcnR1YWwgfkJhc2UoKT0wOyAvLyBQdXJlIHZpcnR1YWwgZGVzdHJ1Y3Rvcgp9OwoKY2xhc3MgRGVyaXZlZCA6IHB1YmxpYyBCYXNlCnsKcHVibGljOgogICAgfkRlcml2ZWQoKQogICAgewogICAgICAgIHN0ZDo6Y291dCA8PCAifkRlcml2ZWQoKSBpcyBleGVjdXRlZCI7CiAgICB9Cn07CgppbnQgbWFpbigpCnsKICAgIERlcml2ZWQgZDsKICAgIHJldHVybiAwOwp9