- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验二 C++中的构造函数与析构函数
一、实验目的:
掌握C++中使用构造函数创建对象;
掌握C++中使用析构函数释放对象;
掌握构造函数的重载特性;
掌握类相关的指针及数组的使用方法;
掌握const成员及static成员的特性;
掌握友元的特性。
二、实验任务
题目 人员管理
设计某小型公司的 employee(人员)类
(1)类
1)employee 类:
基本信息:编号、姓名、性别、出生日期、职位等;
出生日期使用自定义的 Date(日期)类;
其中:基本信息为 private 属性,成员函数为public 属性;
多个构造函数:缺省构造函数、带参数的构造函数、带默认参数的构造函数;
可以从外部访问类成员的友员函数;
2)Date 类:
成员变量:年、月、日
成员函数:SetYear(int year)、SetMonth(int month)、SetDay(int day)
GetYear()、GetMonth()、GetDay()
(2)基本功能:
1)职工信息的录入;
2)职工信息的显示;
3)用对象数组保存已输入的职工对象;
4)可以修改人员的基本信息,如:姓名、职位等;
5)可以通过编号或姓名进行人员查询;
[实验提示]
1、注意带参数的构造函数和带默认参数的构造函数的声明与定义;
2、定义employee 类的成员变量时,应注意变量类型的声明;
3、在查询时,通过申明成employee 类的友元函数来访问类的成员变量;
[测试数据]
1、编号:10001 姓名:jack 出生日期:80 年11 月1 日职位:普通
2、编号:10002 姓名:andy 出生日期:75 年1 月9 日职位:经理
3、编号:10003 姓名:alex 出生日期:81 年4 月3 日职位:秘书
4、编号:10005 姓名:lili 出生日期:82 年10 月1 日职位:技师
源代码:
#include iostream
#include string
#define N 100
using namespace std;
class Date
{
private:
int year;
int month;
int day;
public:
void SetYear(int x) {year=x;}
void SetMonth(int x) {month=x;}
void SetDay(int x) {day=x;}
int GetYear() {return year;}
int GetMonth() {return month;}
int GetDay() {return day;}
Date():year(2000),month(1),day(1){}
Date(int x, int y,int z)
{
year=x;
month=y;
day=z;
}
};
class employee
{
private:
int no;
string name;
string sex;
Date birth;
string pos;
public:
employee():no(0),birth(2000,1,1)
{
name=Andy;
sex=male;
pos=intern;
}
employee(int n, string str,string y,Date day,string p)
{
no = n;
name=str;
sex=y;
birth=day;
pos=p;
}
friend string Getname(employee x)
{
string name1;
name1 =x.name;
return name1;
}
friend int Getno(employee x)
{
return x.no;
}
friend string Getsex(employee x)
{
string sex1;
sex1=x.sex ;
return sex1;
}
friend Date Getbirth(employee x)
{
return x.birth;
}
friend string Getpos(employee x)
{
string pos1;
pos1=x.pos;
return pos1;
}
friend void display()
{
cout\n\t\t=======================================endl;
cout\t\t1:录入 2:显示 3:修改 4:查找 0:退出endl;
文档评论(0)