1 struct A { 2 virtual void f (); 3 }; 4 5 struct B : public A { 6 }; 7 8 struct C : public A { 9 }; 10 11 struct D : public B, C { 12 virtual void f (); 13 }; 14 15 void (D::*p)() = &D::f; 16