#include <iostream>
using namespace std;
struct A {
virtual void foo() {
cout << "A";
}
};
struct B : public A {
};
struct C : public B {
virtual void foo() {
cout << "C";
}
void bar() {
B::foo();
}
};
int main() {
C c;
c.bar();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IEEgewoJdmlydHVhbCB2b2lkIGZvbygpIHsKCQljb3V0IDw8ICJBIjsKCX0KfTsKc3RydWN0IEIgOiBwdWJsaWMgQSB7Cn07CnN0cnVjdCBDIDogcHVibGljIEIgewoJdmlydHVhbCB2b2lkIGZvbygpIHsKCQljb3V0IDw8ICJDIjsKCX0KCXZvaWQgYmFyKCkgewoJCUI6OmZvbygpOwoJfQp9OwoKaW50IG1haW4oKSB7CglDIGM7CgljLmJhcigpOwoJcmV0dXJuIDA7Cn0=