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