// File: Hourly1.cpp // Member function definitions for class HourlyWorker #include "hourly1.h" // Constructor for class HourlyWorker: calls base-class constructor HourlyWorker::HourlyWorker(const string &first, const string &last, double initHours, double initWage): Employee( first, last ) { setHours(initHours); setWage(initWage); } // Set the wage void HourlyWorker::setWage( double w ) { wage = w > 0 ? w : 0; } // note validation // Set the hours worked void HourlyWorker::setHours( double h ) { hours = h >= 0 && h < 168 ? h : 0; } // note validation // Get the HourlyWorker's pay double HourlyWorker::earnings() const { if ( hours <= 40 ) // no overtime return wage * hours; else // overtime is paid at wage * 1.5 return 40 * wage + ( hours - 40 ) * wage * 1.5; } // Print the HourlyWorker's name void HourlyWorker::print(ostream &dest) const { dest << "\n Hourly worker: "; Employee::print(dest); }