定义雇员类Employee
【问题描述】定义雇员类Employee,包含string型成员变量m_Name(姓名)和m_No(编号),int型成员变量m_Department(部门号),成员函数SetName(string),SetNo(string),SetDept(int)分别用来设置姓名、编号和部门号,Display()函数用来输出雇员信息,还包含一个构造函数Employee(string,string,int)。定义一个经理类Manager,派生于雇员类Employee,新增成员变量m_Level表示级别和成员函数SetLevel(int)用来设置m_Level。
要求:
Manager类的成员函数可以直接访问Employee类中的成员变量,但类的外部不能直接访问。
【样例输入】
zhangqiang 001760 12
lihong 981002 12 3
wangxin 991013
【样例输出】
Employee’s information:
Name:zhangqiang
No:001760
Department:12
Employee’s information:
Name:lihong
No:981002
Department:12
Level:3
Employee’s information:
Name:wangxin
No:991013
Department:12
Level:3
#include <iostream>
#include<string>
using namespace std;
class Employee {
public:
Employee(string, string, int );
void SetName(string);
void SetNo(string);
void SetDept(int);
void Display();
protected:
string m_Name, m_No;
int m_Department;
};
Employee::Employee(string m_Name,string m_No,int m_Department)
{
this->m_Name=m_Name;
this->m_No=m_No;
this->m_Department=m_Department;
}
void Employee::SetName(string m_Name)
{
this->m_Name=m_Name;
}
void Employee::SetNo(string m_No)
{
this->m_No=m_No;
}
void Employee::SetDept(int m_Department)
{
this->m_Department=m_Department;
}
void Employee::Display()
{
cout<<"Employee's information:"<<endl;
cout<<"Name:"<<m_Name<<endl;
cout<<"No:"<<m_No<<endl;
cout<<"Department:"<<m_Department<<endl;
}
class Manager:public Employee
{
public:
Manager(string m_Name,string m_No,int m_Department,int m_Level);
void SetLevel(int);
void Display();
protected:
int m_Level;
};
Manager::Manager(string m_Name,string m_No,int m_Department,int m_Level):Employee(m_Name,m_No,m_Department)
{
this->m_Level=m_Level;
}
void Manager::SetLevel(int m_Level)
{
this->m_Level=m_Level;
}
void Manager::Display()
{
Employee::Display();
cout<<"Level:"<<m_Level<<endl;
}
int main() {
string name, no;
int dept, level;
cin >> name >> no >> dept;
Employee e(name,no,dept);
e.Display();
cin >> name >> no >> dept >> level;
Manager m(name, no, dept, level);
m.Display();
cin >> name >> no;
m.SetName(name);
m.SetNo(no);
m.Display();
return 0;
}
本文介绍了如何在C++中定义雇员类Employee,包括姓名、编号和部门号等属性,以及相应的设置函数和显示信息的成员函数Display。同时,还定义了一个经理类Manager,它继承自Employee,并增加了级别属性m_Level和设置级别的SetLevel函数。要求Manager类能直接访问Employee的成员,而外部不能直接访问。
1174

被折叠的 条评论
为什么被折叠?



