c++继承与派生习题答案 下载本文

}

class ClockwithDate :public Date,public NewClock{ public: ClockwithDate(Date,Clock,AMPM); void IncrementSecond(int); void DecrementSecond(int); void ShowDateandTime(){ Date::ShowDate(); NewClock::ShowTime (); } };

ClockwithDate::ClockwithDate(Date d,Clock c,AMPM ap):Date(d),NewClock(c,ap){} void ClockwithDate::IncrementSecond(int n){ int i; for(i=1;i<=n;i++){ Second++; if(Second==60){ Second=0; Minute++; if(Minute==60){ Minute=0; Hour++; if(Hour==24){ Hour=0; Date::Increment(1); } } } } }

void ClockwithDate::DecrementSecond(int n){ int i; for(i=1;i<=n;i++){ Second--; if(Second==-1){ Second=59; Minute--; if(Minute==-1){ Minute=59; Hour--; if(Hour==-1){ Hour=23; Date::Decrement(1); }

} } } }

int main(){ ClockwithDate cd(Date(2007,2,28),Clock(23,59,34),AMPM(2)); cd.ShowDateandTime(); cd.IncrementSecond(27); cd.ShowDateandTime(); cd.DecrementSecond(27); cd.ShowDateandTime(); return 0; }

5.6编写一个程序实现小型公司的工资管理。该公司主要有4类人员:经理(main-ager)、技术人员(technician)、销售员(salesman)、销售经理(salesmanager)。这些人员都是职员(employee),有编号、姓名、月工资信息。月工资的计算方法是:经理固定月薪8000元,技术人员每小时100元,销售员按当月销售额4%提成,销售经理既拿固定月工资5000元也拿销售提成,销售提成为所管辖部门当月销售额的5‰。要求编程计算职员的月工资并显示全部信息。