Напишите работника базового класса и 2 полученных класса Hourlyworker и PalariedWorker . У каждого работника есть имя и скорость заработной платы. В течение первых 40 часов почасовой работник получает полную плату и потрачен на ставку за любые часы. Наемный работник получает почасовую заработную плату в течение 40 часов, независимо от того, какое фактическое количество часов.
Код: Выделить всё
#include
#include
using namespace std;
//////////// Worker /////////////////////////////
class Worker
{
public:
Worker();
Worker(string name, int salary);
void print();
int compute_pay(int hours);
string get_name();
int get_salary();
private:
string name;
int salary;
int payout;
};
Worker::Worker() {salary = 0;}
Worker::Worker(string name, int salary)
{
this->name = name;
this->salary = salary;
}
void Worker::print()
{
cout salary * hours;
return payout;
}
string Worker::get_name() {return this->name;}
int Worker::get_salary() { return this->salary;}
//////////// HourlyWorker ///////////////////////
class HourlyWorker : public Worker
{
public:
HourlyWorker(string name, int salary);
int compute_pay(int hours);
private:
string name;
int salary;
int payout;
};
HourlyWorker::HourlyWorker(string name, int salary)
:Worker(name, salary) {}
int HourlyWorker::compute_pay(int hours)
{
int temp = 0;
if (hours >= 40)
{
temp = (this->salary * (hours - 40)) / 2;
this->payout = (this->salary * 40) + temp;
}
else
{
this->payout = this->salary * hours;
}
return payout;
}
//////////// SalariedWorker /////////////////////
class SalariedWorker : public Worker
{
public:
SalariedWorker(string name, int salary);
int compute_pay(int hours);
private:
string name;
int salary;
int payout;
};
SalariedWorker::SalariedWorker(string name, int salary)
:Worker(name, salary) {}
int SalariedWorker::compute_pay(int hours)
{
this->payout = this->salary * 40;
return payout;
}
/////////
int main()
{
HourlyWorker a("Sam", 20);
HourlyWorker b("Mary", 15);
SalariedWorker c("Tom", 30);
SalariedWorker d("Pat", 40);
cout
Подробнее здесь: [url]https://stackoverflow.com/questions/8289758/calculations-are-wrong-in-my-code-how-to-fix[/url]