编写两个类,要求使用继承
雇员:姓名,入职年份,部门,底薪
计算月薪,打印信息
管理者:级别
打印信息
编写主函数测试两个类
参考GPT和自己的思路:
好的,针对这个问题,我可以给你一些建议和指导:
class CEmployee
{
public:
CEmployee(string name, int year, string department, double salary)
{
m_strName = name;
m_iYear = year;
m_strDepartment = department;
m_dSalary = salary;
}
virtual double getMonthlySalary() // 计算月薪的虚函数
{
return m_dSalary / 12;
}
void printInfo() // 打印员工信息的成员函数
{
cout << "Name: " << m_strName << "\n";
cout << "Year of Entry: " << m_iYear << "\n";
cout << "Department: " << m_strDepartment << "\n";
cout << "Salary: " << m_dSalary << "\n";
cout << "Monthly Salary: " << getMonthlySalary() << "\n";
}
private:
string m_strName;
int m_iYear;
string m_strDepartment;
double m_dSalary;
};
class CManager : public CEmployee
{
public:
CManager(string name, int year, string department, double salary, int level) : CEmployee(name, year, department, salary)
{
m_iLevel = level;
}
void printInfo() // 打印经理信息的成员函数
{
CEmployee::printInfo(); // 先调用基类的printInfo函数打印共同的信息
cout << "Level: " << m_iLevel << "\n";
}
private:
int m_iLevel;
};
int main()
{
CEmployee employee("Tom", 2010, "Sales", 50000);
employee.printInfo();
cout << "\n";
CManager manager("Jerry", 2008, "Marketing", 80000, 2);
manager.printInfo();
return 0;
}
以上就是关于设计雇员类CEmployee和管理者类CManager,并使用继承进行设计的问题的回答。希望能够对你有所帮助。