#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();
}