1
2void marker1()
3{
4  return;
5}
6
7class A1 {
8public:
9  int x;
10  int y;
11};
12
13class A2 {
14public:
15  int x;
16  int y;
17};
18
19class A3 {
20public:
21  int x;
22  int y;
23};
24
25class X : public A1, public A2 {
26public:
27  int z;
28};
29
30class L : public A1 {
31public:
32  int z;
33};
34
35class LV : public virtual A1 {
36public:
37  int z;
38};
39
40class M : public A2 {
41public:
42  int w;
43};
44
45class N : public L, public M {
46public:
47  int r;
48};
49
50class K : public A1 {
51public:
52  int i;
53};
54
55class KV : public virtual A1 {
56public:
57  int i;
58};
59
60class J : public K, public L {
61public:
62  int j;
63};
64
65class JV : public KV, public LV {
66public:
67  int jv;
68};
69
70class JVA1 : public KV, public LV, public A1 {
71public:
72  int jva1;
73};
74
75class JVA2 : public KV, public LV, public A2 {
76public:
77  int jva2;
78};
79
80class JVA1V : public KV, public LV, public virtual A1 {
81public:
82  int jva1v;
83};
84
85int main()
86{
87  A1 a1;
88  A2 a2;
89  A3 a3;
90  X x;
91  L l;
92  M m;
93  N n;
94  K k;
95  J j;
96  JV jv;
97  JVA1 jva1;
98  JVA2 jva2;
99  JVA1V jva1v;
100
101  int i;
102
103  i += k.i + m.w + a1.x + a2.x + a3.x + x.z + l.z + n.r + j.j;
104
105  marker1();
106
107}
108
109
110
111