1 struct Struct1 { 2 public: 3 short offset_0; 4 short offset_16; 5 int offset_32; 6 int offset_64; 7 }; 8 9 struct Struct2 { 10 public: 11 union Nested { 12 int nested_member; 13 int added_member[2]; 14 } member; 15 }; 16 17 struct Vtable1 { 18 int member_1; 19 int added_member_1; 20 21 virtual ~Vtable1(); 22 virtual void function_1() = 0; 23 virtual void added_function_1() = 0; 24 }; 25 26 struct Vtable2 { 27 int member_2; 28 int added_member_2; 29 30 virtual void function_2(); 31 virtual void added_function_2() = 0; 32 virtual ~Vtable2(); 33 }; 34 35 struct Vtable3 : virtual public Vtable1, virtual public Vtable2 { 36 int member_3; 37 int added_member_3; 38 39 virtual ~Vtable3(); 40 virtual void function_3(); 41 virtual void added_function_3(); 42 }; 43 44 Vtable3 &PassByReference(Struct1 &, Struct2 &); 45