annotate run/typeof_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/typeof_04.d,v 1.1 2004/08/20 23:42:55 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 value(){
3269e4627918 init dstress
svnowner
parents:
diff changeset
5 return 'A';
3269e4627918 init dstress
svnowner
parents:
diff changeset
6 }
3269e4627918 init dstress
svnowner
parents:
diff changeset
7 }
3269e4627918 init dstress
svnowner
parents:
diff changeset
8
3269e4627918 init dstress
svnowner
parents:
diff changeset
9 class B : A {
3269e4627918 init dstress
svnowner
parents:
diff changeset
10 int value(){
3269e4627918 init dstress
svnowner
parents:
diff changeset
11 return 'B';
3269e4627918 init dstress
svnowner
parents:
diff changeset
12 }
3269e4627918 init dstress
svnowner
parents:
diff changeset
13
3269e4627918 init dstress
svnowner
parents:
diff changeset
14 typeof(super) a; // y is declared to be an A
3269e4627918 init dstress
svnowner
parents:
diff changeset
15 typeof(this) b; // x is declared to be a B
3269e4627918 init dstress
svnowner
parents:
diff changeset
16
3269e4627918 init dstress
svnowner
parents:
diff changeset
17 this(){
3269e4627918 init dstress
svnowner
parents:
diff changeset
18 a = new A();
3269e4627918 init dstress
svnowner
parents:
diff changeset
19 //b = new B();
3269e4627918 init dstress
svnowner
parents:
diff changeset
20 }
3269e4627918 init dstress
svnowner
parents:
diff changeset
21 }
3269e4627918 init dstress
svnowner
parents:
diff changeset
22
3269e4627918 init dstress
svnowner
parents:
diff changeset
23 int main(){
3269e4627918 init dstress
svnowner
parents:
diff changeset
24 B b = new B();
3269e4627918 init dstress
svnowner
parents:
diff changeset
25
3269e4627918 init dstress
svnowner
parents:
diff changeset
26 assert(b.value == 'B');
3269e4627918 init dstress
svnowner
parents:
diff changeset
27 assert(b.a.value == 'A');
3269e4627918 init dstress
svnowner
parents:
diff changeset
28 //assert(b.b.value == 'B');
3269e4627918 init dstress
svnowner
parents:
diff changeset
29
3269e4627918 init dstress
svnowner
parents:
diff changeset
30 return 0;
3269e4627918 init dstress
svnowner
parents:
diff changeset
31 }