📄 8_6.cpp
字号:
#include <iostream.h>
class Employee {
public:
Employee() {
cout << "职工编号:"; cin >> no;
cout << "职工姓名:"; cin >> name;
salary = 0;
}
protected:
int no;
char name[10];
double salary;
};
class Technican:public Employee {
public:
Technican() { hourlyrate = 150; }
void pay() {
cout << "\n技术员:" << name << ", 月工作小时:";
cin >> workhours;
salary = hourlyrate * workhours;
}
void display() {
cout << "技术员:" << name << ",编号:" << no
<< ",月工资:" << salary << endl;
}
private:
double hourlyrate;
int workhours;
};
class Salesman :virtual public Employee {
public:
Salesman() { commrate = 0.07; }
void pay() {
cout << "\n销售员:" << name << ", 月销售额:";
cin >> sales;
salary = sales * commrate;
}
void display() {
cout << "销售员:" << name << ",编号:" << no
<< ",月工资:" << salary << endl;
}
protected:
double commrate, sales;
};
class Manager :virtual public Employee {
public:
Manager() { monthpay = 8500; }
void pay() { salary = 8500; }
void display() {
cout << "经理:" << name << ",编号:" << no
<< ",月工资:" << salary << endl;
}
protected:
double monthpay;
};
class Salesmanager : public Manager, public Salesman {
public:
Salesmanager() { monthpay = 4000; commrate = 0.005; }
void pay() {
cout << "\n销售经理:" << name << ", 部门销售额:";
cin >> sales;
salary = monthpay + sales * commrate;
}
void display() {
cout << "销售经理:" << name << ",编号:" << no
<< ",月工资:" << salary << endl; }
};
void main()
{ Manager m;
Technican t;
Salesman s;
Salesmanager sm;
m.pay();
m.display();
t.pay();
t.display();
s.pay();
s.display();
sm.pay();
sm.display();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -