5 virtual int foo() { return 1; }
8 class Rep_1 : public Rep {
13 virtual int foo() { return 2; }
18 virtual int foo() { return 3; }
21 class Rep_2 : public Rep {
24 class DVBase : public VBaseMain, public Rep_2, public OtherVBase {
26 virtual int foo() { return 4; }
29 class Main : public Rep_1, virtual public DVBase {
31 virtual int foo() { return 5; }
38 if (((Rep*)(Rep_1*)&m)->foo() != 5)
40 if (((DVBase*)&m)->foo() != 5)
42 if (((VBaseMain*)(DVBase*)&m)->foo() != 5)
44 if (((Rep*)(Rep_2*)(DVBase*)&m)->foo() != 5)
46 if (((OtherVBase*)(DVBase*)&m)->foo() != 5)