雇员
#include<iostream>
#include<string.h>
using namespace std;
//在此补全雇员类(Employee)、推销人员类(Salesman)和技术人员类(Tech )的相关代码
class Employee
{
private:
char* p0;
char* p1;
int no;
float wages;
public:
virtual void Pay() = 0;
virtual void Print() = 0;
friend class Salesman;
friend class Tech;
};
class Salesman:public Employee
{
private:
float rate, sales;
public:
Salesman(char name[10], int No, float rate, float sales)
{
p0 = name;
no = No;
this->rate = rate;
this->sales = sales;
}
void Pay()
{
wages = rate * sales;
}
void Print()
{
cout << "name=" ;
while(*p0!='\0')
{
cout<<*p0 ;
p0++;
}
cout<<"," << "NO=" << no << ",wages=" << wages << ",rate=" << rate << ",sales=" << sales << endl;
}
};
class Tech: public Employee
{
private:
float hourRate, workHours;
public:
Tech (char name[10], int NO, float hourRate, float workHours)
{
p0 = name;
no = NO;
this->hourRate = hourRate;
this->workHours = workHours;
}
void Pay()
{
wages = hourRate * workHours;
}
void Print()
{
cout << "name=" ;
while(*p0!='\0')
{
cout<<*p0 ;
p0++;
}
cout<< "," << "NO=" << no << ",wages=" << wages << ",hourRate=" << hourRate << ",workHours=" << workHours << endl;
}
};
void fun(Employee& ref)
{
ref.Pay();
ref.Print();
cout << endl;
}
int main()
{
char name[10];
int NO;
float rate, sales;
cin >> name >> NO >> rate >> sales;
Salesman s(name, NO, rate, sales);
float hourRate, workHours;
fun(s);
cin >> name >> NO >> hourRate >> workHours;
Tech t(name, NO, hourRate, workHours);
fun(t);
return 1;
}