1) 职员类 Employee(基类)。 No:私有成员变量,字符串型,代表工号; Name:私有成島変量,字符串型,代表姓名:ゃ 构造函数:对成员变量进行初始化;。 double ge(EmployeeP ay0:返回员工工资数量,所有员工暂定支付1000元: String getNane0: 获取员工姓名: String getNo0:获取员工工号。 (2)销售员类 Commission Worker<职员类的派生类)。 这类员工的收入是一小部分底新加上销售额的一定的白分比计算而水。 salary:私有成员变量,double型,代表底薪; commission:私有成员变量,double型,代表提成率(取值范围:[0,1,设置时需要验证): sellValue: 私有成员变量,double 型,代表销售额 构造函数 :对成员变量进行初始化 double getConmissionworkerPaxO: 计算员工汇资数量: 定义用于2个读取数据成员取值的两数。
时间: 2024-03-12 14:46:17 浏览: 107
Python面向对象编程:私有成员,保护成员和普通成员;抽象基类与继承
好的,这是一个类的定义,以下是 C++ 代码实现:
```c++
#include <iostream>
#include <string>
using namespace std;
class Employee {
private:
string No; // 工号
string Name; // 姓名
public:
Employee(string no, string name) : No(no), Name(name) {} // 构造函数
double getSalary() { return 1000; } // 返回员工工资数量,所有员工暂定支付1000元
string getName() { return Name; } // 获取员工姓名
string getNo() { return No; } // 获取员工工号
};
class CommissionWorker : public Employee { // 继承自 Employee 类的派生类
private:
double salary; // 底薪
double commission; // 提成率
double sellValue; // 销售额
public:
CommissionWorker(string no, string name, double salary, double commission, double sellValue)
: Employee(no, name), salary(salary), commission(commission), sellValue(sellValue) {} // 构造函数
double getCommissionWorkerPay() { // 计算员工汇资数量
return salary + commission * sellValue;
}
double getSalary() { return getCommissionWorkerPay(); } // 重载基类的 getSalary() 函数
void setSalary(double salary) { this->salary = salary; } // 设置底薪
void setCommission(double commission) { // 设置提成率
if (commission >= 0 && commission <= 1) {
this->commission = commission;
}
}
double getSalaryValue() { return sellValue; } // 获取销售额
};
int main() {
CommissionWorker cw("001", "张三", 2000, 0.1, 5000); // 创建 CommissionWorker 类对象
cout << "姓名:" << cw.getName() << endl;
cout << "工号:" << cw.getNo() << endl;
cout << "底薪:" << cw.getSalary() - cw.getSalaryValue() * cw.getCommission() << endl; // 底薪
cout << "提成率:" << cw.getCommission() << endl;
cout << "销售额:" << cw.getSalaryValue() << endl;
cout << "工资:" << cw.getSalary() << endl;
cw.setCommission(0.2); // 修改提成率
cout << "修改后的提成率:" << cw.getCommission() << endl;
return 0;
}
```
在上面的代码中,`Employee` 类是基类,`CommissionWorker` 类是派生类,继承了 `Employee` 类的成员变量和成员函数。其中,`getSalary()` 函数被 `CommissionWorker` 类重载了,用于计算销售员的工资。`setSalary()` 和 `setCommission()` 函数用于设置底薪和提成率,其中设置提成率时需要进行验证。`getSalaryValue()` 函数用于获取销售额。在 `main()` 函数中,我们创建了一个 `CommissionWorker` 类对象,然后输出了其姓名、工号、底薪、提成率、销售额和工资,并修改了提成率并输出。
阅读全文