前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >friend关键字使用之员工和经理类-C++

friend关键字使用之员工和经理类-C++

作者头像
WindCoder
发布2018-09-19 18:22:12
4650
发布2018-09-19 18:22:12
举报
文章被收录于专栏:WindCoder

通过friend关键字实现员工和经理类

代码语言:javascript
复制
/*
功能:实现员工和经理类
作者:wind
日期:2013-11-08
*/
#include <iostream>
#include <string>
using namespace std;

int n=0,m=0;
class Manager;
//员工
class Employee
{
public:
	Employee(string iName=NULL,int iAge=NULL,int iYear=0,int iNum=0);
	~Employee(){};
	void printOn(Employee&);
	void retire();
   friend Manager;
private:
	string m_iName;
	int m_iAge;
	int m_iYear;
	int m_iNum;
};
//经理
class Manager:public Employee
{
public:
	Manager(string iName=NULL,int iAge=NULL,int iYear=0,int iNum=0,int ilevel = 0);
	~Manager(){};
	void printOn(Manager&);
	void retire();
private:
   int m_iLevel;

};

Employee::Employee(string iName,int iAge,int iYear,int iNum)
{
    m_iName=iName;
	m_iAge=iAge;
	m_iYear=iYear;
	m_iNum=iNum;
	n++;

}

Manager::Manager(string iName,int iAge,int iYear,int iNum,int ilevel)
{
	m_iName=iName;
	m_iAge=iAge;
	m_iYear=iYear;
	m_iNum=iNum;
	m_iLevel=ilevel;

}

void Employee::printOn(Employee&obj)
{
	cout<<obj.m_iName<<" "<<obj.m_iAge<<" "<<obj.m_iYear<<" "<<obj.m_iNum<<endl;
}


void Employee::retire()
{
	if (m_iAge>=55)
	{

		cout<<m_iName<<"超过了退休年龄,"<<m_iName<<"办理了退休手续"<<endl;
		n--;
	}
}

void Manager::printOn(Manager&obj)
{
	cout<<obj.m_iName<<" "<<obj.m_iAge<<" "<<obj.m_iYear<<" "<<obj.m_iNum<<endl;
}


void Manager::retire()
{
	if (m_iAge>=60)
	{

		cout<<m_iName<<"超过了退休年龄,"<<m_iName<<"办理了退休手续"<<endl;
		m--;
	}
}


int main(void)
{

	string name;
	int age;
	int year;
	int num;
	int level;
	int i=0;


	cout<<"请输入员工的姓名、年龄、工作年限和部门号:";
	cin>>name>>age>>year>>num;
	Employee a(name,age,year,num);

	cout<<"请输入员工的姓名、年龄、工作年限和部门号:";
	cin>>name>>age>>year>>num;
	Employee b(name,age,year,num);

    cout<<"请输入经理的姓名、年龄、工作年限和部门号、级别:";
	cin>>name>>age>>year>>num>>level;
   Manager c(name,age,year,num,level);

	cout<<"公司共有员工:"<<n<<"人,"<<" 经理"<<m<<"人。";
	 a.retire();

     b.retire();
	 c.retire();
   cout<<"公司共有员工:"<<n<<"人,"<<" 经理"<<m<<"人。";
	system("pause");
	return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014-11-16,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

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