Polymorphism

Run-time polymorphism can be obtained by declaring the relevant methods as virtual
class Employee {
...
virtual void getEmployeeType(void);
...
};
class Empowered : public Employee {
...
virtual void getEmployeeType(void);
...
};

class Manager : public Empowered {
...
virtual void getEmployeeType(void);
...
};

use(&e1); // output: Employee
use(&e2); // output: Empowered
use(&e3); // output: Manager

Leo Liberti 2008-01-12