annotate run/alias_04.d @ 0:3269e4627918

init dstress
author svnowner
date Sat, 25 Sep 2004 22:33:30 +0000
parents
children 3414705c41ac
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3269e4627918 init dstress
svnowner
parents:
diff changeset
1 // $Header: /home/th/Dokumente/Entwicklung/MEIN_CVS/MiniD/src/run/alias_04.d,v 1.1 2004/08/20 23:42:51 th Exp $
3269e4627918 init dstress
svnowner
parents:
diff changeset
2
3269e4627918 init dstress
svnowner
parents:
diff changeset
3 class A {
3269e4627918 init dstress
svnowner
parents:
diff changeset
4 int foo(int a) { return 1; }
3269e4627918 init dstress
svnowner
parents:
diff changeset
5 }
3269e4627918 init dstress
svnowner
parents:
diff changeset
6
3269e4627918 init dstress
svnowner
parents:
diff changeset
7 class B : A {
3269e4627918 init dstress
svnowner
parents:
diff changeset
8 int foo( int a, uint b ) { return 2; }
3269e4627918 init dstress
svnowner
parents:
diff changeset
9 }
3269e4627918 init dstress
svnowner
parents:
diff changeset
10
3269e4627918 init dstress
svnowner
parents:
diff changeset
11 class C : B {
3269e4627918 init dstress
svnowner
parents:
diff changeset
12 int foo( int a ) { return 3; }
3269e4627918 init dstress
svnowner
parents:
diff changeset
13 alias B.foo foo;
3269e4627918 init dstress
svnowner
parents:
diff changeset
14 }
3269e4627918 init dstress
svnowner
parents:
diff changeset
15
3269e4627918 init dstress
svnowner
parents:
diff changeset
16 class D : C {
3269e4627918 init dstress
svnowner
parents:
diff changeset
17 }
3269e4627918 init dstress
svnowner
parents:
diff changeset
18
3269e4627918 init dstress
svnowner
parents:
diff changeset
19
3269e4627918 init dstress
svnowner
parents:
diff changeset
20 int main(){
3269e4627918 init dstress
svnowner
parents:
diff changeset
21 D d = new D();
3269e4627918 init dstress
svnowner
parents:
diff changeset
22
3269e4627918 init dstress
svnowner
parents:
diff changeset
23 assert(d.foo(1, 2u) == 2); // calls B.foo
3269e4627918 init dstress
svnowner
parents:
diff changeset
24 assert(d.foo(1) == 3); // calls C.foo
3269e4627918 init dstress
svnowner
parents:
diff changeset
25 return 0;
3269e4627918 init dstress
svnowner
parents:
diff changeset
26 }