This isn't overloading, it's just inheritence.
class BasePlusCommissionEmployee : public CommissionEmployee
The above line in the header essentially means that the class BasePlusCommissionEmployee inherits from the class CommissionEmployee. This is an "is a" relationaship, or BasePlusCommissionEmployee is a CommissionEmployee
const string &first, const string &last, const string &ssn,
double sales, double rate, double salary )
// explicitly call base-class constructor
: CommissionEmployee( first, last, ssn, sales, rate )
The above code in the constructor basically tells the compiler to pass the constructor arguements first, last, ssn, sales, and rate into the constructor of the base class. This lets the base class logic take care of creating it's own members, and the derived class then only has to deal with the salary parameter. This is just a nice handy way of creating a derived class without having to copy and paste the code from the base class constructor.