通过 friend关键字实现的雇员类与雇主类
/*功能:雇员与雇主类.日期:2013-11-07*/#include <iostream>#include <string>using namespace std;class Employer;//雇员class Employee{public: Employee(int aNum=0,string aName=NULL,int aPay=0,int aGrade=0,string aPosition=NULL); ~Employee(); void Display(void); void setEmployee(void); string getName(void); friend Employer;private: int m_aNumber; string m_aName; int m_aPay; int m_aGrade; string m_aPosition;};//雇主class Employer{public: Employer(int iNumber=0,string iName=NULL); ~Employer(); void resetEmployee(Employee&); string getName(); void Display(Employee &);private: int m_iNumber; string m_iName;
};
Employee::Employee(int aNum,string aName,int aPay,int aGrade,string aPosition){ m_aNumber=aNum; m_aName=aName; m_aPay=aPay; m_aGrade=aGrade; m_aPosition=aPosition;}Employee::~Employee(){
}Employer::Employer(int iNumber,string iName){ m_iNumber=iNumber; m_iName=iName;}Employer::~Employer(){
};
string Employee::getName(void){ return m_aName;}void Employee::Display(void){ cout<<m_aNumber<<" "<<m_aName<<" "<<m_aPay<<" "<<m_aGrade<<" "<<m_aPosition;}
void Employer::resetEmployee(Employee&obj){ cout<<"请输入新的薪水、等级和职位:"; cin>>obj.m_aPay>>obj.m_aGrade>>obj.m_aPosition;}
void Employer::Display(Employee &obj){ cout<<m_iName<<"老板调整了"<<obj.getName()<<"的信息:"; obj.Display();}
int main(void){
int number; string name; int pay; int grade; string position; int i; cout<<"请输入员工的编号、姓名、薪水、等级和职位:"; cin>>number>>name>>pay>>grade>>position; Employee employee1(number,name,pay,grade,position); cout<<"请输入员工的编号、姓名、薪水、等级和职位:"; cin>>number>>name>>pay>>grade>>position; Employee employee2(number,name,pay,grade,position); cout<<"请输入老板的编号和姓名:"; cin>>number>>name; Employer employer1(number,name); cout<<"请输入要修改人的序号:"<<endl; cout<<"1."<<employee1.getName()<<endl; cout<<"2."<<employee2.getName()<<endl;
cin>>i; if (i==1) { employer1.resetEmployee(employee1); employer1.Display(employee1); } else if (i==2) { employer1.resetEmployee(employee2); employer1.Display(employee2); } else { cout<<"输入有误"; } cout<<endl; system("pause"); return 0;}
评论