前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C++实例员工信息

C++实例员工信息

作者头像
Twcat_tree
发布2022-11-30 16:48:21
4130
发布2022-11-30 16:48:21
举报
文章被收录于专栏:二猫の家

假设某销售公司有一般员工、销售员工和销售经理。月工资的计算办法是: 一般员工月薪=基本工资; 销售员工月薪=基本工资+销售额提成率; 销售经理月薪=基本工资+职务工资+销售额提成率。 编写程序,定义一个表示一般员工的基类Employee,它包含三个表示员工基本信息的数据成员:编号 number、姓名name和基本工资basicSalary。 由Employee类派生销售员工Salesman类,Salesman类包含两个新数据成员:销售额sales和静态数据成 员提成比例commrate。 再由Salesman类派生表示销售经理的Salesmanager类。Salesmanager类包含新数据成员:岗位工资 jobSalary。 为这些类定义初始化数据的构造函数,以及输入数据input、计算工资pay和输出工资条print的成员函 数。 设公司员工的基本工资是2000元,销售经理的岗位工资是3000元,提成率=5/1000。在main函数中, 输入若干个不同类型的员工信息测试你的类结构。

代码语言:javascript
复制
#include<iostream>
#include<String.h> 
using namespace std; 
class Employee{
protected: 
	char number[5]; 
	char name[10]; 
	double basicSalary;
public: Employee(char number1[]="",char name1[]="",double basicSalary1=2000){ 
	strcpy(number,number1);
	strcpy(name,name1);
	basicSalary=basicSalary1; }
	void Input(); 
	void Print(); }; 
void Employee::Input(){ 
	cout<<"编号:" ; 
	cin>> number; cout<<"姓名:" ; 
	cin>> name; } 
void Employee::Print() {
	cout<<"编号:"<<this->number<<"\t普通员工:"<<this->name<<"\t本月工资:"<<this->basicSalary<<endl; }  
class Salesman:public Employee{ 
protected: 
	int sales; 
	static double commrate;  
public: 
	Salesman(int sales1=0){ sales=sales1; } 
	void input(){ 
		Employee::Input(); 
		cout<<"本月个人售额:";
		cin>>this->sales; }
	double Pay() { 
		double salary;
		salary=basicSalary+sales*commrate;
		return salary; } 
	void Print() { 
		cout<<"编号:"<<this->number<<"\t销售员:"<<this->name<<"\t本月工资:"<<this->Salesman::Pay()<<endl; }}; 
double Salesman:: commrate=0.005; 
class Salesmanager:public Salesman{
public:
	Salesmanager(double jSalary=3000){ jobSalary = jSalary; } 
	void input(){ Employee::Input(); cout<<"部门总销售额:"; cin>>this->sales; } 
	double Pay(){ double salary; salary =jobSalary +sales*commrate; return salary; } 
	void Print() { cout<<"编号:"<<this->number<<"\t销售经理:"<<this->name<<"\t本月工资:"<<this->Salesmanager::Pay()<<endl; }
protected:
	double jobSalary; }; 
int main(){ 
	cout<<"普通员工:"<<endl; Employee a; a.Input(); a.Print();  
	cout<<"销售员:"<<endl; Salesman b; b.input(); b.Print(); 
	cout<<"销售经理:"<<endl; Salesmanager c; c.input(); 
	c.Print(); }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-05-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档