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