"Daniel Keep" <daniel.keep.li...@gmail.com> wrote in message
news:h88cck$1or...@digitalmars.com...
>
>
> Saaa wrote:
>> 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?
>
> Because you didn't reassign deleg.
but isn't deleg pointing to c's method?