digitalmars.D - aliased function as overloads/etc.
- BCS (34/34) Oct 24 2005 Several times I have found my self wanting to alias a function. Several ...
Several times I have found my self wanting to alias a function. Several uses of this idea have come to mind. The first use would allow for the addition of attributes to a function from a derived class. The specific case I have wanted to use was to add the final attribute to a function. Another use would be to reuse an existing function when implementing a template. Thought, comments, critics?? interface I1 { int fn1(int); int fn2(int); } // implement I1.fn1 and I2.fn2 differently // fn1 can't be final b/c C2 must overload class C1: I1 { int fn1(int i) { return i; } // does something int fn2(int i) { return i+1;} // does something else } // overload C1.fn1 class C2: C1 { int fn1(int i) { return i+1; } } // use C1.fn1 as C3.fn1 but w/ final class C3: C1 { alias fn1(int i) final C1.fn1; } // implement I1.fn1 and I2.fn2 as the same function class C4: I1 { int fn1(int i) { return i; }// does something alias fn1(int) fn2;// is the same function as fn1(int) }
Oct 24 2005