#include <iostream>
using namespace std;
class A
{
public:
virtual void foo() {
cout << "A" << endl;
}
};
class B : public A
{
public:
void foo(...)
{
cout << "B" << endl;
}
};
class C : public B
{
public:
void foo(...)
{
cout << "C" << endl;
}
};
int main()
{
C c;
B* b = &c;
b->foo();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIEEKewpwdWJsaWM6CiAgICB2aXJ0dWFsIHZvaWQgZm9vKCkgewogICAgICAgIGNvdXQgPDwgIkEiIDw8IGVuZGw7CiAgICB9Cn07CgpjbGFzcyBCIDogcHVibGljIEEKewpwdWJsaWM6CiAgICB2b2lkIGZvbyguLi4pCiAgICB7CiAgICAgICAgY291dCA8PCAiQiIgPDwgZW5kbDsKICAgIH0KfTsKCmNsYXNzIEMgOiBwdWJsaWMgQgp7CnB1YmxpYzoKICAgIHZvaWQgZm9vKC4uLikKICAgIHsKICAgICAgICBjb3V0IDw8ICJDIiA8PCBlbmRsOwogICAgfQp9OwoKCmludCBtYWluKCkKewogICAgQyBjOwogICAgQiogYiA9ICZjOwogICAgYi0+Zm9vKCk7CgogICAgcmV0dXJuIDA7Cn0=