On Monday, August 29, 2011 04:50:09 hhaammaadd wrote: > import std.stdio; > class employee { > void work() { > writeln("I am employee"); > } > } > > class manager: employee { > void work() { > writeln("I am manager"); > } > } > > > void main() { > employee e1 = new manager;//here > e1.work(); > > manager m3 = new manager;//--|here > employee *e2 = &m3;//--------| > e2.work(); > > > }
Pointers are not polymorphic in D. Class references are, but if you have a pointer to a class, it assumes that the type is exactly that type and determines its function calls at compile time rather than at runtime. - Jonathan M Davis