diff test/classes3.d @ 1:c53b6e3fe49a trunk

[svn r5] Initial commit. Most things are very rough.
author lindquist
date Sat, 01 Sep 2007 21:43:27 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/classes3.d	Sat Sep 01 21:43:27 2007 +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);
+}