diff tests/mini/classes3.d @ 341:1bb99290e03a trunk

[svn r362] Started merging the old 'test' dir as well as the newer 'tangotests' dir into 'tests/mini' and 'tests/minicomplex'.
author lindquist
date Sun, 13 Jul 2008 02:51:19 +0200
parents test/classes3.d@c53b6e3fe49a
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/mini/classes3.d	Sun Jul 13 02:51:19 2008 +0200
@@ -0,0 +1,33 @@
+class C
+{
+    int c;
+    long f(long l)
+    {
+        return l;
+    }
+}
+
+class D : C
+{
+    int d;
+    override long f(long l)
+    {
+        return l*2;
+    }
+}
+
+void main()
+{
+    scope c = new C;
+    assert(c.f(25L) == 25);
+    scope d = new D;
+    assert(d.f(25L) == 50);
+    C cd = d;
+    assert(cd.f(25L) == 50);
+    assert(func(d,25L) == 50);
+}
+
+long func(C c, long l)
+{
+    return c.f(l);
+}