abstract class C
{
 int method();
}
class C2:C
{
 int method() return 2;
}
class C3:C
{
 int method() return 3;
}
int delegate() deleg;
void main()
{
 C c;
 C2 c2 = new C2;
 C3 c3 = new C3;
 c=c2;
 deleg = &c.method;
 writefln(deleg()); // 2
 c=c3;
 writefln(deleg()); // 2
 // I expected this to write 3, why is this not so?


Reply via email to