lindquist@114: module interface6; lindquist@114: lindquist@133: extern(C) int printf(char*,...); lindquist@133: lindquist@114: interface I lindquist@114: { lindquist@114: void Ifunc(); lindquist@114: } lindquist@114: lindquist@114: interface J lindquist@114: { lindquist@114: void Jfunc(); lindquist@114: } lindquist@114: lindquist@114: class C : I,J lindquist@114: { lindquist@114: int i; lindquist@114: int j; lindquist@114: void Ifunc() lindquist@114: { lindquist@114: i++; lindquist@114: } lindquist@114: void Jfunc() lindquist@114: { lindquist@114: j++; lindquist@114: } lindquist@114: } lindquist@114: lindquist@114: void main() lindquist@114: { lindquist@114: C c = new C; lindquist@114: c.Ifunc(); lindquist@114: c.Jfunc(); lindquist@114: I i = c; lindquist@114: i.Ifunc(); lindquist@114: J j = c; lindquist@114: j.Jfunc(); lindquist@114: C c2 = cast(C)i; lindquist@114: c2.Ifunc(); lindquist@114: c2.Jfunc(); lindquist@114: C c3 = cast(C)j; lindquist@114: c3.Ifunc(); lindquist@114: c3.Jfunc(); lindquist@114: assert(c.i == 4); lindquist@114: assert(c.j == 4); lindquist@114: }