⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c_9_1.cpp

📁 C++应用教程原码,里面包含该书中有十三章内容的代码,详细具体
💻 CPP
字号:
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;

class employee
{
protected:
	int no;
	string name;
	string duty;
	float salary;
	static int beginNO;
public:
	employee(string tempDuty)
		:duty(tempDuty)
	{
        no=beginNO++;
		cout<<duty << "姓名:";
		cin>> name;
		salary=0;
	}
	~employee()
	{ 
	}
	virtual void pay()=0;
	virtual void display()=0;
};

int employee::beginNO=100;  // 职工起始编号

class technician:public employee
{
private:
	float hourlyrate;
	int workhours;
public:
	technician()
		:employee("兼职技术人员")
	{ hourlyrate=80;
	}
	virtual void pay()
	{
		cout<<name<<"本月工作时数:";
		cin>>workhours;
		salary=hourlyrate*workhours;
	}
	virtual	void display()
	{
		cout<<"兼职技术人员"<<name<<"(编号为"<<no\
			<<")"<<"本月工资:"<<salary<<endl;
	}
};



class saleman:virtual public employee
{
protected:
	float commrate;
	float sales;
public:
	saleman()
		:employee("销售员")
	{commrate=0.06f;}
	virtual void pay()
	{
		cout<<name<<"本月的销售额:";
		cin>>sales;
		salary=sales*commrate;
	}
	virtual	void display()
	{
		cout<<"销售员"<<name<<"(编号为"<<no<<")"\
			<<")"<<"本月工资:"<<salary<<endl;
	}
};

class manager:virtual public employee
{
protected:
	float monthlypay;
public:
	manager()
		:employee("总经理")
	{ 
		monthlypay=10000; 
	}
	virtual void pay(){salary=monthlypay;}
	virtual	void display()
	{
		cout<<"经理"<<name<<"(编号为"<<no<<")"\
			<<")"<<"本月工资:"<<salary<<endl;
	}
};
class salesmanager:public manager,public saleman
{
public:
	salesmanager()
		:employee("销售经理")
	{
		monthlypay=5000;
		commrate=0.004f;
	}
	virtual void pay()
	{
		cout<<name<<"所负责部门的月销售量:";
		cin>>sales;
		salary=monthlypay+commrate*sales;
	}
	virtual	void display()
	{
		cout<<"销售经理"<<name<<"(编号为"<<no<<")"\
			<<")"<<"本月工资:"<<salary<<endl;
	}
};

void main()
{
	manager m1;
	technician t1;
	saleman s1;
	salesmanager sm1;
	employee* em[4]={&m1,&t1,&s1,&sm1};
	for(int i=0;i<4;i++)
	{
		em[i]->pay();
		em[i]->display();
	}
	cin.get(); //等待结束,以便调测程序,可以删除
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -