#include<iostream>
#include<string.h>
using namespace std;
//在此补全雇员类(Employee)、推销人员类(Salesman)和技术人员类(Tech )的相关代码
class Emplore
{
public:
char *name;
int num;
float salary;
public:
char* getna()
{
return name;
}
int getnum()
{
return num;
}
int getsa()
{
return salary;
}
Emplore(){}
Emplore(char *name1,int num1)
{
name=new char[10];
name=name1;
num=num1;
}
Emplore(const Emplore &e)
{
name=e.name;
num=e.num;
}
virtual void print()
{
}
virtual void Pay()
{
}
};
class Salesman :public Emplore
{
public:
float ti;
float mon;
Salesman(){}
Salesman(char* na,int no,float rate,float sales):Emplore(na,no)
{
ti=rate;
mon=sales;
}
void Pay()
{
salary=ti*mon;
}
void print()
{
cout<<"name="<<getna()<<","<<"NO="<<getnum()<<","<<"wages="<<getsa()<<","<<"rate="<<ti<<","<<"sales="<<mon<<endl;
}
Salesman(const Salesman& s)
{
ti=s.ti;
mon=s.mon;
}
};
class Tech :public Emplore
{
public:
float rate1;
float hour;
Tech(){}
Tech (char* na1,int no,float rate,float sales):Emplore(na1,no)
{
rate1=rate;
hour=sales;
}
void Pay()
{
salary=hour*rate1;
}
void print()
{
cout<<"name="<<getna()<<","<<"NO="<<getnum()<<","<<"wages="<<getsa()<<","<<"hourRate="<<rate1<<","<<"workHours="<<hour<<endl;
}
Tech(const Tech& t)
{
rate1=t.rate1;
hour=t.hour;
}
};
void fun(Emplore& 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;
cin>>name>>NO>>hourRate>>workHours;
Tech t(name,NO,hourRate,workHours);
fun(s);
fun(t);
return 1;
}