836
|
1 // $HeadURL$
|
|
2 // $Date$
|
|
3 // $Author$
|
|
4
|
|
5 module dstress.run.c.class_20_J;
|
|
6
|
|
7 interface A1{
|
|
8 int foo();
|
|
9 }
|
|
10
|
|
11 interface A2{
|
|
12 int bar();
|
|
13 }
|
|
14
|
|
15 interface B(T) : T{
|
|
16 int dummy();
|
|
17 int bar();
|
|
18 }
|
|
19
|
|
20
|
|
21 class C(T1, T2) : B!(T1), B!(T2){
|
|
22 int foo(){
|
|
23 return 0;
|
|
24 }
|
|
25
|
|
26 int dummy(){
|
|
27 return 2;
|
|
28 }
|
1090
|
29
|
836
|
30 int bar(){
|
|
31 return 1;
|
|
32 }
|
|
33 }
|
|
34
|
|
35 int main(){
|
|
36 auto c = new C!(A1, A2)();
|
|
37
|
|
38 if(c.foo() != 0){
|
|
39 assert(0);
|
|
40 }
|
|
41
|
|
42 if(c.bar() != 1){
|
|
43 assert(0);
|
|
44 }
|
|
45
|
|
46 if(c.dummy() != 2){
|
|
47 assert(0);
|
|
48 }
|
|
49
|
|
50 A1 a1 = c;
|
|
51
|
|
52 if(a1.foo() != 0){
|
|
53 assert(0);
|
|
54 }
|
|
55
|
|
56 A2 a2 = c;
|
1090
|
57
|
836
|
58 if(a2.bar() != 1){
|
|
59 assert(0);
|
|
60 }
|
|
61
|
|
62 B!(A1) b1 = c;
|
|
63
|
|
64 if(b1.bar() != 1){
|
|
65 assert(0);
|
|
66 }
|
|
67
|
|
68 if(b1.dummy() != 2){
|
|
69 assert(0);
|
|
70 }
|
|
71
|
|
72 B!(A2) b2 = c;
|
|
73
|
|
74 if(b2.bar() != 1){
|
|
75 assert(0);
|
|
76 }
|
|
77
|
|
78 if(b2.dummy() != 2){
|
|
79 assert(0);
|
|
80 }
|
|
81
|
|
82 return 0;
|
|
83 }
|