class CommissionEmployee : public Employee { public: CommissionEmployee(string name, int id, Date birthDate, double commissionRate, double sales) : Employee(name, id, birthDate), commissionRate(commissionRate), sales(sales) {} double calculatePay() override { return commissionRate * sales; }
时间: 2023-06-19 20:05:41 浏览: 36
这是一个名为CommissionEmployee的类,它是Employee类的公共派生类。它有一个构造函数,它接受几个参数来初始化类的成员变量。CommissionEmployee类有两个成员变量:commissionRate和sales,这些变量存储了该雇员的佣金比率和销售量。CommissionEmployee类还覆盖了Employee类的calculatePay函数,以根据佣金率和销售量计算出该雇员的工资。
相关问题
class SalariedEmployee : public Employee { public: SalariedEmployee(string name, int id, Date birthDate, double salary) : Employee(name, id, birthDate), salary(salary) {} double calculatePay() override { return salary; }
这是一个C++的类定义,定义了一个名为SalariedEmployee的类,继承自Employee类。该类有四个成员变量:name,id,birthDate和salary。其中name、id和birthDate从Employee类中继承而来,而salary是该类自己定义的。构造函数中初始化了这四个成员变量,其中调用了Employee类的构造函数来初始化name、id和birthDate。该类还重写了Employee类中的calculatePay()函数,用于计算薪水,返回值为salary。
使用c++语言加以补充完善,成为一个完整的程序。在程序中使用组合和继承。在定义Professor类对象prof1时给出所有数据的初值,然后修改prof1的生日数据,最后输出prof1的全部最新数据。#include<iostream> using namespace std; class Teacher { public: private: int num; string name; char sex; }; class BirthDate { public: private: int year; int month; int day; }; class Professor:public Teacher { public: private: BirthDate birthday; };
好的,我明白了。下面是使用C++语言补充完善的程序:
```c++
#include<iostream>
using namespace std;
class Teacher {
public:
int num;
string name;
char sex;
};
class BirthDate {
public:
int year;
int month;
int day;
};
class Professor:public Teacher {
public:
BirthDate birthday;
Professor(int num, string name, char sex, int year, int month, int day): Teacher({num, name, sex}), birthday({year, month, day}) {}
};
int main() {
Professor prof1(1001, "张三", 'M', 1980, 1, 1);
// 修改生日数据
prof1.birthday.year = 1990;
prof1.birthday.month = 2;
prof1.birthday.day = 2;
// 输出最新数据
cout << "教师编号:" << prof1.num << endl;
cout << "姓名:" << prof1.name << endl;
cout << "性别:" << prof1.sex << endl;
cout << "生日:" << prof1.birthday.year << "年" << prof1.birthday.month << "月" << prof1.birthday.day << "日" << endl;
return 0;
}
```
在这个程序中,我们使用了组合和继承的概念。其中,教师类`Teacher`是基类,其中包含了编号、姓名和性别三个数据成员;生日类`BirthDate`是一个独立的类,包含了年、月、日三个数据成员;`Professor`类继承了`Teacher`类,并且包含了一个`BirthDate`类的对象。在定义`Professor`类对象`prof1`时,我们给出了所有数据的初值。然后,我们修改了`prof1`的生日数据,并最终输出了`prof1`的全部最新数据。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)