On Saturday, 14 January 2017 at 21:55:27 UTC, David Zhang wrote:
Hello,
Say I have a class, and it overrides a function from its
superclass. However, the superclass has two overloaded versions
of the same function. My intent is to override only one of the
functions, but the second is rendered inaccessible from outside
of the class. How can I make the overloaded function visible?
ie:
class ClassA {
void fun(uint a) {}
void fun(uint a, float b) {}
}
class ClassB: ClassA {
void fun(uint a) {}
}
ca.fun(a); //ok
ca.fun(a, b); //ok
cb.fun(a); //ok
cb.fun(a, b); //function fun not callable with uint and float
I seem to remember something about using aliases to fix this,
but I can't find anything about it either way.
class ClassB: ClassA {
alias fun = super.fun;
override void fun(uint a) {}
}