keyword_protected.cpp (The use of protected keyword)

kind.cpp (Illustration of different kinds of inheritance)

CommissionEmployee1.h (base class declaration)
CommissionEmployee1.cpp (base class implementation)
BasePlusCommissionEmployee1.h (derived class)
BasePlusCommissionEmployee1.cpp (derived class implementation: Does not work as the derived class accesses private data members of the base class)

CommissionEmployee2.h (base class declaration)
CommissionEmployee2.cpp (base class with protected keyword)
BasePlusCommissionEmployee2.h (derived class header file)
BasePlusCommissionEmployee2.cpp (derived class implementation)
tester2.cpp (driver)

CommissionEmployee3.h
CommissionEmployee3.cpp (base class using get and set)
BasePlusCommissionEmployee3.h (derived class implementation)
BasePlusCommissionEmployee3.cpp (derived class header file using get and set of the base class)
tester3.cpp (driver)

CommissionEmployee4.h
CommissionEmployee4.cpp (constructor and destructor to illustrate their call orders)
BasePlusCommissionEmployee4.h
BasePlusCommissionEmployee4.cpp (constructor and destructor of the derived class to illustrate their call order)
order.cpp (driver for the call order)

Base1.h (base class 1)
Base2.h (base class 2)
Derived.h (derived class inherited from base classes 1 and 2)
Derived.cpp (derived class implementation)
multiple.cpp (driver program)