#include <iostream>
struct A {
virtual void foo() = 0;
};
struct B : A {
virtual void foo();
};
void A::foo() {
std::cout << "A::foo() ";
}
void B::foo() {
A::foo();
}
int main() {
B b;
b.foo();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IEEgewogICB2aXJ0dWFsIHZvaWQgZm9vKCkgPSAwOwp9OwoKc3RydWN0IEIgOiBBIHsKICAgdmlydHVhbCB2b2lkIGZvbygpOwp9OwoKdm9pZCBBOjpmb28oKSB7CiAgIHN0ZDo6Y291dCA8PCAiQTo6Zm9vKCkgIjsKfQoKdm9pZCBCOjpmb28oKSB7CiAgIEE6OmZvbygpOwp9CgppbnQgbWFpbigpIHsKICAgQiBiOwogICBiLmZvbygpOwp9