设计三个类Date、Employee、Manager;其中Date类的定义如下: class Date{ public: Date(int,int,int); ~Date(){ cout<<"Date destroyed."<<endl; } private: int year, month, day; }; Employee类中含有私有数据成员:员工的姓名(name[20])和出生日期(birthday,Date类对象),要求使用构造函数初始化所有数据成员。Manager类从Employee类公有继承,并增加了职务津贴(allowance)一项私有数据成员,要求使用构造函数初始化所有数据成员。 请写出完整的Date、Employee、Manager类定义并测试成员函数。
时间: 2024-02-27 10:52:25 浏览: 77
定义一个名为Date的类,用于输入并验证日期
5星 · 资源好评率100%
以下是完整的Date、Employee、Manager类定义及测试代码:
```c++
#include <iostream>
#include <string>
using namespace std;
class Date {
public:
Date(int y, int m, int d) : year(y), month(m), day(d) {}
~Date() { cout << "Date destroyed." << endl; }
private:
int year, month, day;
};
class Employee {
public:
Employee(string n, Date b) : name(n), birthday(b) {}
~Employee() { cout << "Employee destroyed." << endl; }
protected:
string name;
Date birthday;
};
class Manager : public Employee {
public:
Manager(string n, Date b, double a) : Employee(n, b), allowance(a) {}
~Manager() { cout << "Manager destroyed." << endl; }
private:
double allowance;
};
int main() {
Date birthday(2000, 1, 1);
Employee employee("Alice", birthday);
Manager manager("Bob", birthday, 1000.0);
return 0;
}
```
在上面的代码中,Date类只有一个构造函数和一个析构函数,用于初始化和释放年月日数据成员。Employee类有一个构造函数和一个析构函数,用于初始化和释放姓名和出生日期数据成员。Manager类从Employee类公有继承,并增加了职务津贴一项私有数据成员,有一个构造函数和一个析构函数,用于初始化和释放所有数据成员。在main函数中,我们创建了一个Date对象、一个Employee对象和一个Manager对象,并测试了所有对象的构造函数和析构函数。
阅读全文