mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-02-28 01:23:14 +01:00
[svn r362] Started merging the old 'test' dir as well as the newer 'tangotests' dir into 'tests/mini' and 'tests/minicomplex'.
This commit is contained in:
46
tests/mini/interface6.d
Normal file
46
tests/mini/interface6.d
Normal file
@@ -0,0 +1,46 @@
|
||||
module interface6;
|
||||
|
||||
extern(C) int printf(char*,...);
|
||||
|
||||
interface I
|
||||
{
|
||||
void Ifunc();
|
||||
}
|
||||
|
||||
interface J
|
||||
{
|
||||
void Jfunc();
|
||||
}
|
||||
|
||||
class C : I,J
|
||||
{
|
||||
int i;
|
||||
int j;
|
||||
void Ifunc()
|
||||
{
|
||||
i++;
|
||||
}
|
||||
void Jfunc()
|
||||
{
|
||||
j++;
|
||||
}
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
C c = new C;
|
||||
c.Ifunc();
|
||||
c.Jfunc();
|
||||
I i = c;
|
||||
i.Ifunc();
|
||||
J j = c;
|
||||
j.Jfunc();
|
||||
C c2 = cast(C)i;
|
||||
c2.Ifunc();
|
||||
c2.Jfunc();
|
||||
C c3 = cast(C)j;
|
||||
c3.Ifunc();
|
||||
c3.Jfunc();
|
||||
assert(c.i == 4);
|
||||
assert(c.j == 4);
|
||||
}
|
||||
Reference in New Issue
Block a user