mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-05-04 17:31:29 +02:00
[svn r118] Fixed dynamic casts.
Fixed a few interface bugs.
This commit is contained in:
44
test/interface6.d
Normal file
44
test/interface6.d
Normal file
@@ -0,0 +1,44 @@
|
||||
module interface6;
|
||||
|
||||
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