00001 #include "weekly.h" 00002 00003 #include "employee.h" 00004 #include "minmax.h" 00005 #include <iostream> 00006 #include <iomanip> 00007 00008 using namespace std; 00009 00010 WeeklyWorker::WeeklyWorker(const char first[] /* = "" */, 00011 const char last[] /* = "" */, 00012 double sal_per_week /* = 0.0 */) 00013 : Employee(first, last), weeklySalary(::max(sal_per_week, 0.0)) 00014 { } 00015 00016 WeeklyWorker::WeeklyWorker(const WeeklyWorker & worker) 00017 : Employee(worker), weeklySalary(worker.weeklySalary) 00018 { } 00019 00020 WeeklyWorker::~WeeklyWorker() { } 00021 00022 WeeklyWorker & WeeklyWorker::operator = (const WeeklyWorker & worker) { 00023 Employee::operator=(worker); 00024 weeklySalary = worker.weeklySalary; 00025 return *this; 00026 } 00027 00028 void WeeklyWorker::set_per_week(double sal_per_week) { 00029 weeklySalary = ::max(sal_per_week, 0.0); 00030 return; 00031 } 00032 00033 double WeeklyWorker::earnings(void) const { 00034 return weeklySalary; 00035 } 00036 00037 void WeeklyWorker::print(ostream & out) const { 00038 out << endl 00039 << setw(25) << "Weekly Worker: "; 00040 Employee::print(out); 00041 return; 00042 } 00043