1 struct Struct1 {
2  protected:
3   short offset_0;
4   int offset_32;
5 };
6 
7 struct Struct2 {
8  protected:
9   union Nested {
10     int nested_member;
11   } member;
12 };
13 
14 struct Vtable1 {
15   int member_1;
16 
17   virtual ~Vtable1();
18   virtual void function_1() = 0;
19 };
20 
21 struct Vtable2 {
22   int member_2;
23 
24   virtual void function_2() = 0;
25 };
26 
27 struct Vtable3 : virtual public Vtable1, virtual public Vtable2 {
28   int member_3;
29 
30   virtual ~Vtable3();
31   virtual void function_3();
32 };
33 
34 Vtable3 &PassByReference(Struct1 &, Struct2 &);
35