Accessing a function within an object's superclass from the outside
    Ali Çehreli via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Sat Jan 14 15:31:36 PST 2017
    
    
  
Templates are not virtual. Depending the interface, a different function 
is called:
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
    
    
More information about the Digitalmars-d-learn
mailing list