#include <iostream>
using namespace std;
struct A
{
virtual void go(){ cout << "A" << endl; }
virtual ~A(){}
};
struct B : A
{
void go(){ cout << "B" << endl; }
virtual ~B(){}
};
int main()
{
B b;
A &a (b);
a.go();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IEEKewoJdmlydHVhbCB2b2lkIGdvKCl7IGNvdXQgPDwgIkEiIDw8IGVuZGw7IH0KCXZpcnR1YWwgfkEoKXt9Cn07CnN0cnVjdCBCIDogQQp7Cgl2b2lkIGdvKCl7IGNvdXQgPDwgIkIiIDw8IGVuZGw7IH0KCXZpcnR1YWwgfkIoKXt9Cn07CgppbnQgbWFpbigpCnsKCUIgYjsKCUEgJmEgKGIpOwoJYS5nbygpOwp9