- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
08 计算机 4 班 实验五:输入输出流
1. 设计一个职员类EMPLOYEE ,主要包括工号、姓名、部门、
年龄、工资等属性以及更换部门、年龄变更、工资增长等操作,
为 EMPLOYEE 类提供输入/输出运算 “<< ”和 “>> ”。(提示:
类 EMPLOYEE 应有多个重载的构造函数)
/main.cpp
#include "employee.h"
int main(int argc , char *argv[])
{
EMPLOYEE A(200701, "Tom", "DEPARTMENT A",34,2345.6);
cout<<A;
EMPLOYEE B;
cin>>B;
cout<<"输入的信息:"<<B<<endl;
return 0;
}
// employee.h
#include<iostream>
#include<string>
using namespace std;
const int MAX_LEN=100;
class EMPLOYEE{
private:
long id;
char name[MAX_LEN];
char department[MAX_LEN];
int age;
double salary;
public:
EMPLOYEE();
EMPLOYEE(const EMPLOYEE& obj);
EMPLOYEE(long idd, char namee[], char depar[], int agee, double sala);
~EMPLOYEE();
void changeDepartment(char newDepar[]);
1
08 计算机 4 班 实验五:输入输出流
void changeAge(int agee);
void raiseSalary(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<<"{ "<<obj.id<<",\""<<obj.name<<"\",\"";
stream<<obj.department<<"\","<<obj.age<<","<<obj.salary<<" } \n";
return stream;
}
istream& operator>>(istream& stream, EMPLOYEE& obj)
{
cout<<"输入 工号:";
stream>>obj.id;
// 接收键
文档评论(0)