// Fig. 10.1: commis1.cpp // Member function definitions for class CommissionWorker #include "Commis1.h" using namespace std; // Constructor for class CommissionWorker CommissionWorker::CommissionWorker(string first, string last, double salary, double commission, int quantity) : Employee(first, last) // called base-class constructor { setSalary(salary); setCommission(commission); setQuantity(quantity); } // Set CommissionWorker's weekly base salary void CommissionWorker::setSalary(double s) { salary = s > 0 ? s : 0; } // Set CommissionWorker's commission void CommissionWorker::setCommission(double c) { commission = c > 0 ? c : 0; } // Set CommissionWorker's quantity sold void CommissionWorker::setQuantity(int q) { quantity = q > 0 ? q : 0; } // Determine CommissionWorker's earnings double CommissionWorker::earnings() const { return salary + commission * quantity; } // Print the CommissionWorker's name void CommissionWorker::print(ostream &dest) const { dest << "\nCommission worker: "; Employee::print(dest); }