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