CommissionEmployee1.h
(polymorphism on earning and print)
CommissionEmployee1.cpp
(implementation)
BasePlusCommissionEmployee1.h
BasePlusCommissionEmployee1.cpp
(derived class redefining earning and print)
tester1a.cpp (test with overriding
earnings and print functions in derived class)
tester1b.cpp (Compilation error as it aims a
derived-class pointer to a base class)
tester1c.cpp (Compilation error as it accesses a
derived-class member with a base-class pointer)
CommissionEmployee2.h
(virtual function)
CommissionEmployee2.cpp
(implementation)
BasePlusCommissionEmployee2.h
(use of virtual function)
BasePlusCommissionEmployee2.cpp
tester2.cpp (test of virtual function)
Employee.h (base class with pure virtual function)
Employee.cpp
SalariedEmployee.h (overrides pure
virtual function in the base class)
SalariedEmployee.cpp
HourlyEmployee.h (overrides pure
virtual function)
HourlyEmployee.cpp
CommissionEmployee.h (another
derived class using virtual function)
CommissionEmployee.cpp
BasePlusCommissionEmployee.h
(Indirect concrete derived class)
BasePlusCommissionEmployee.cpp
payroll.cpp (tester)