implement abstract method requires override
    "Luís 
    "Luís
       
    Sat Nov  9 18:32:16 PST 2013
    
    
  
Why do abstract methods need to be implemented with override, 
when interfaces don't? E.g.:
     class X
     {
         abstract void foo();
     }
     class Y : X
     {
         override void foo() {}
     }
vs
     interface X
     {
         abstract void foo();
     }
     class Y : X
     {
         void foo() {}
     }
This is a bit of a problem for a design I'm doing with 
template/mixin magic, making it a bit less magical. If you don't 
want to change this, would you consider at least providing some 
kind of pragma / attribute to work around it? E.g.
     class X
     {
         pragma(nooverride, foo); // this or the following
         @nooverride abstract void foo(); // ugly OK, X is hidden 
for user
     }
     class Y : X
     {
         void foo() {}
     }
Thanks! :-)
    
    
More information about the Digitalmars-d
mailing list