一个简单的人员信息管理程序(虚函数与多态的使用)

具体要求如下:


(1)程序涉及到五个类,分别是employee,technician,salesman,manager,salsemanager。这五个类的关系为:employee是顶层父类,technician,salesman,manager是employee的子类,salsemanager是salesman,manager的子类。


(2)employee具有员工号,姓名,收入等属性,有设置姓名,获取姓名,获取员工号,获取收入等函数。


(3)technician的收入计算方法为工作小时数*时薪,另外具有设置工作小时数,时薪的函数,具有工作小时数和时薪的属性。salesman的收入计算方法为销售额*提成比例,另外具有设置销售额,提成比例的函数,具有销售额和提成比例的属性。manager的收入计算方法为固定月薪,另外具有设置固定月薪的函数,具有固定月薪的属性。salsemanager收入计算方法为销售额*提成比例+固定月薪。


(4)要求利用employee类型的指针数组,指向8个子类对象(technician,salesman,manager,salsemanager每个类2个),通过相应方法输出这些对象的姓名(姓名的初始化通过键盘录入),员工号,收入(多态的形式)。 
#include 
#include 
using namespace std;

class employee {
public:
	employee(string name,int ID):m_Name(name),m_ID(ID){}
	employee() {}
	virtual ~employee() {}
public:
	void setName(string name) { m_Name = name; }
	virtual void setIncome(int x) {}	//设置收入,重载3
	virtual void setIncome(int x,float y) {}
	virtual void setIncome(int x, float y,int z) {}
	//void getName() { cout <<"name is" <setIncome(1400, 0.2);
	p[1] = new salemanager("王大", 1);
	p[1]->setIncome(1465,0.2,5000);
	p[2] = new manager("张三", 3);
	p[2]->setIncome(5000);
	p[3] = new technician("李四", 4);
	p[3]->setIncome(240,20.0);
	for (int i = 0;i < 4;i++) {
		p[i]->display();
		delete p[i];
	}
	system("pause");

}


你可能感兴趣的:(C++)