#include <iostream>
class IA
{
public:
virtual void error() = 0;
virtual void n() { error(); }
};
class X : public IA
{
public:
void error()override {std::cout << "X error" << std::endl;}
void notify() { IA::n(); }
};
class Y : public IA
{
public:
void error() override{std::cout << "Y error" << std::endl;}
};
int main()
{
std::cout << "Hello world!" << std::endl;
X x;
Y y;
x.notify();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgSUEKewpwdWJsaWM6Cgl2aXJ0dWFsIHZvaWQgZXJyb3IoKSA9IDA7Cgl2aXJ0dWFsIHZvaWQgbigpIHsgZXJyb3IoKTsgfQp9OwoKY2xhc3MgWCA6IHB1YmxpYyBJQQp7CnB1YmxpYzoKCXZvaWQgZXJyb3IoKW92ZXJyaWRlIHtzdGQ6OmNvdXQgPDwgIlggZXJyb3IiIDw8IHN0ZDo6ZW5kbDt9Cgl2b2lkIG5vdGlmeSgpIHsgSUE6Om4oKTsgfQp9OwoKY2xhc3MgWSA6IHB1YmxpYyBJQQp7CnB1YmxpYzoKCXZvaWQgZXJyb3IoKSBvdmVycmlkZXtzdGQ6OmNvdXQgPDwgIlkgZXJyb3IiIDw8IHN0ZDo6ZW5kbDt9Cn07CgppbnQgbWFpbigpCnsKCXN0ZDo6Y291dCA8PCAiSGVsbG8gd29ybGQhIiA8PCBzdGQ6OmVuZGw7CgkKCVggeDsKCVkgeTsKCXgubm90aWZ5KCk7CgkKCXJldHVybiAwOwp9CgogICAg