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