import std.stdio;
class ClassA {
void fun(T)(T a) { writeln("ClassA"); }
}
class ClassB: ClassA {
void fun(uint a) { writeln("ClassB"); }
}
void main() {
auto cb = new ClassB();
ClassA ca = cb;
uint a = 42;
ca.fun(a); // calls ClassA.fun
cb.fun(a); // calls ClassB.fun
}
Ali
