文档库 最新最全的文档下载
当前位置:文档库 › 实验五:输入输出流标准答案—专业版

实验五:输入输出流标准答案—专业版

1.设计一个职员类EMPLOYEE,主要包括工号、姓名、部门、年龄、工资等属性以及更换部门、年龄变更、工资增长等操作,为EMPLOYEE类提供输入/输出运算“<<”和“>>”。(提

示:类EMPLOYEE应有多个重载的构造函数)

/main.cpp

#include"employee.h"

int main(intargc, char *argv[])

?EMPLOYEE A(200701, "Tom","DEPARTMENT A",34,2345.6);

?cout<

?

?EMPLOYEE B;

?cin>>B;

cout<<"输入的信息:"<<B<

?return 0;

}

//employee.h

#include<iostream>

#include<string>

usingnamespace std;

const int MAX_LEN=100;

classEMPLOYEE{

private:

long id;

?char name[MAX_LEN];

?char department[MAX_LEN];

int age;

double salary;

public:

EMPLOYEE();

?EMPLOYEE(constEMPLOYEE&obj);

?EMPLOYEE(long idd, char namee[], chardepar[], int agee, doublesala); ?~EMPLOYEE();

?void changeDepartment(char newDepar[]);

void changeAge(intagee);

?voidraiseSalary(double delta);

?

//定义友元函数,提供输入/输出运算"<<"和">>"。

?friend ostream& operator<<(ostream& stream,EMPLOYEE& obj);

?friend istream& operator>>(istream& stream, EMPLOYEE& obj);};

EMPLOYEE::EMPLOYEE()

{

id=000000;

}

EMPLOYEE::EMPLOYEE(const EMPLOYEE& obj)//拷贝构造函数

{

?id=obj.id;

strcpy(name,obj.name);

?strcpy(department,obj.department);

age=obj.age;

salary=obj.salary;

}

EMPLOYEE::EMPLOYEE(long idd, char namee[],char depar[],int agee,double sala)

{

?id=idd;

?strcpy(name,namee);

?strcpy(department,depar);

?age=agee;

salary=sala;

}

EMPLOYEE::~EMPLOYEE()

}

ostream& operator<<(ostream& stream,EMPLOYEE&obj)

{

stream<<"{"<

?stream<

?return stream;

?

}

istream& operator>>(istream& stream,EMPLOYEE&obj)

{

?cout<<"输入工号:";

stream>>obj.id;

//接收键盘上的字符串处理起来比较麻烦。。。。

相关文档
相关文档 最新文档