综合实验四参考答案课案.docx
- 文档编号:6486898
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:49
- 大小:27.42KB
综合实验四参考答案课案.docx
《综合实验四参考答案课案.docx》由会员分享,可在线阅读,更多相关《综合实验四参考答案课案.docx(49页珍藏版)》请在冰豆网上搜索。
综合实验四参考答案课案
综合实验四面向对象的程序设计
[实验目的]
1.掌握类和对象的定义
2.掌握面向对象的程序设计方法
3.掌握类的继承与派生
4.掌握基类和虚函数的用法
5.掌握运算符重载的方法
6.掌握I/O流类的操作
[实验环境]
1.软件需求:
VisualC++6.0
2.硬件需求:
PentiumIII450以上的CPU处理器,64MB以上的内存,200MB的自由硬盘空间
[实验内容]
1.设计员工类Employee(静态数据成员)分
a)题目描述
定义一个描述员工(Employee)基本情况的类,数据成员包括编号(num)、姓名(name)、性别(sex)、工资(wage)、人数(count)、总工资(totalWage)。
其中姓名定义为长度为18的字符数组,性别定义为长度为3的字符数组,其它数据类型为整型,总工资和人数为静态数据成员,函数成员包括构造函数、显示基本函数(ShowBase)和显示静态数据函数(ShowStatic),其中构造函数由已知参数编号(nu),姓名(nm)、性别(sx)和工资(wg)构造对象,显示基本数据函数用于显示学生的编号、姓名、性别和工资,显示静态数据函数为静态成员函数,用于显示人数和总工资;要求所有数据成员为protected访问权限,所有成员函数为public访问权限,在主函数中定义若干个员工对象,分别显示员工基本信息,以及显示员工人数和总工资。
b)输入描述
第一行要求输入一个小于10的数字n,表示即将录入的员工数量,换行后从键盘录入每个员工的数据,依次是编号,姓名,性别,工资,每个员工占一行
c)输出描述
第一行显示“人数:
”,第二行显示“总工资:
”,后面分别显示每个员工的信息,每个员工之间空一行
d)样例输入
2
1008张三男2500
1009李四女2600
e)样例输出
人数:
2
总工资:
5100元
个人基本信息:
编号:
1008
姓名:
张三
性别:
男
工资:
2500
个人基本信息:
编号:
1009
姓名:
李四
性别:
女
工资:
2600
参考程序:
/********************************************************
2012IMISC++Practice4(Objectorientedprogramming)
Task1
Programmedby
YEHuanzhuo
Lakeside
Nov.28,2012
********************************************************/
#include
#include
usingnamespacestd;
classEmployee
{
protected:
intnum;
charname[18];
charsex[3];
intwage;
staticintcount;
staticinttotalWage;
public:
Employee(intnu,char*nm,char*sx,intwg);
~Employee();
voidShowBase();
staticvoidShowStatic();
};
intEmployee:
:
count=0;
intEmployee:
:
totalWage=0;
Employee:
:
Employee(intnu,char*nm,char*sx,intwg)
{
num=nu;
strcpy(name,nm);
strcpy(sex,sx);
wage=wg;
count++;
totalWage+=wg;
}
Employee:
:
~Employee()
{
count--;
totalWage-=wage;
}
voidEmployee:
:
ShowBase()
{
cout<<"个人基本信息:
\n";
cout<<"编号:
"< cout<<"姓名: "< cout<<"性别: "< cout<<"工资: "< } voidEmployee: : ShowStatic() { cout<<"人数: "< cout<<"总工资: "< } intmain() { intn,i,nu,wg; charnm[18],sx[3]; cin>>n; Employee**a=newEmployee*[n]; for(i=0;i { cin>>nu>>nm>>sx>>wg; a[i]=newEmployee(nu,nm,sx,wg); } Employee: : ShowStatic(); for(i=0;i { a[i]->ShowBase(); deletea[i]; if(i! =n-1) cout< } delete[]a; return0; } 2.日期类Date的设计(构造函数) a)题目描述 定义一个日期类Date,能提供和设置由年、月、日组成的日期。 编写程序,提供类的构造函数用于根据输入初始化日期类Date的对象;提供函数用于输出日期类对象的日期,按照如下格式输出: yyyy-mm-dd b)输入描述 初始化日期类Date对象的数据,分别是年、月、日。 程序有多个测试用例。 c)输出描述 按照指定格式输出的日期。 d)样例输入 20101230 20121830 2012610 e)样例输出 2010-12-30 ERRORDATE 2012-06-10 参考程序: /******************************************************** 2012IMISC++Practice4(Objectorientedprogramming) Task2 Programmedby YEHuanzhuo Lakeside Nov.28,2012 ********************************************************/ #include #include usingnamespacestd; classDate { intyear; intmonth; intday; public: Date(inty,intm,intd); voidshow(); }; Date: : Date(inty,intm,intd) { year=y; month=m; day=d; } voidDate: : show() { cout< (2)< (2)< } intmain() { inty,m,d,leap,md[]={0,31,28,31,30,31,30,31,31,30,31,30,31}; while(cin>>y>>m>>d) { if(y>=0&&y<=9999&&m>=1&&m<=12) { leap=y%4==0&&y%100! =0||y%400==0; if((m==2&&d<=md[m]+leap)||(m! =2&&d<=md[m])) { DateD(y,m,d); D.show(); } else cout<<"ERRORDATE"< } else cout<<"ERRORDATE"< } return0; } 3.复数类Imaginary(友元函数) a)题目描述 根据以下主函数的功能来设计复数类Imaginary,使其能正确运行。 类Imaginary中应该具有描述复数的实部和虚部的私有数据成员a和b,还有相应的构造函数和按照“a±bi”格式显示复数的成员函数print()。 设计类Imaginary的2个友元函数分别进行复数的加、减运算,并在这些函数调用类Imaginary的成员函数print()显示结果。 intmain() { floatx1,y1,x2,y2; cin>>x1>>y1>>x2>>y2;//输入4个数据,分别表示进行运算的两个复数的实部和虚部 Imaginaryimag1(x1,y1),imag2(x2,y2);//用x1、y1创建Imaginary类对象imag1 Add(imag1,imag2);//调用友元函数求两个复数之和,按a±bi的格式显示运算结果(a和b均为实数) Sub(imag1,imag2);//求两个复数之差并显示运算结果 return0; } b)输入描述 输入4个数据,分别表示进行运算的两个复数的实部和虚部 c)输出描述 2行,分别显示两个复数进行加、减运算的结果 d)样例输入 1325 e)样例输出 3+8i -1-2i 参考程序: /******************************************************** 2012IMISC++Practice4(Objectorientedprogramming) Task3 Programmedby YEHuanzhuo Lakeside Nov.28,2012 ********************************************************/ #include usingnamespacestd; classImaginary { private: floata,b; public: Imaginary(floatx,floaty): a(x),b(y){} voidprint() { if(a) {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 综合 实验 参考答案