struct Base { };
struct Derived : public Base { };
struct Choose {
  operator Base&();
  operator Derived&();
};

void f()
{
  Choose c;
  Base& ref = c;
}


syntax highlighted by Code2HTML, v. 0.9.1