没有合适的资源?快使用搜索试试~ 我知道了~
C++综合实验四.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 75 浏览量
2023-02-27
20:10:57
上传
评论
收藏 908KB PDF 举报
温馨提示
试读
45页
.
资源推荐
资源详情
资源评论
《程序设计语言》实验报告
实验序号: 04 实验项目名称:面向对象的程序设计
学 号
实验地点 文波楼 219
姓 名
指导教师
专业、班
时间
2012/12/19
一、实验目的及要求
1. 掌握类和对象的定义
2. 掌握面向对象的程序设计方法
3. 掌握类的继承与派生
4. 掌握基类和虚函数的用法
5. 掌握运算符重载的方法
6. 掌握 I/O 流类的操作
二、实验设备(环境)及要求
1. 软件需求:Visual C++ 6.0
2. 硬件需求: Pentium III 450 以上的 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
2. 日期类 Date 的设计(构造函数)
a) 题目描述
定义一个日期类 Date,能提供和设置由年、月、日组成的日期。编写程序,提供
类的构造函数用于根据输入初始化日期类 Date 的对象;提供函数用于输出日期类
对象的日期,按照如下格式输出:yyyy-mm-dd
b) 输入描述
初始化日期类 Date 对象的数据,分别是年、月、日。程序有多个测试用例。
c) 输出描述
按照指定格式输出的日期。
d) 样例输入
2010 12 30
2012 18 30
2012 6 10
e) 样例输出
2010-12-30
ERROR DATE
2012-06-10
3. 复数类 Imaginary(友元函数)
a) 题目描述
根据以下主函数的功能来设计复数类 Imaginary,使其能正确运行。类 Imaginary
中应该具有描述复数的实部和虚部的私有数据成员 a 和 b,还有相应的构造函数和
按照“a±bi”格式显示复数的成员函数 print()。设计类 Imaginary 的 2 个友元函数分
别进行复数的加、减运算,并在这些函数调用类 Imaginary 的成员函数 print()显示
结果。
int main()
{
float x1,y1,x2,y2;
cin>>x1>>y1>>x2>>y2; //输入 4 个数据,分别表示进行运算的两个复数的实部和虚
部
Imaginary imag1(x1,y1),imag2(x2,y2); //用 x1、y1 创建 Imaginary 类对象 imag1
Add(imag1,imag2); //调用友元函数求两个复数之和,按a±bi 的格式显示运算结果(a
和 b 均为实数)
Sub(imag1,imag2); //求两个复数之差并显示运算结果
return 0;
}
b) 输入描述
输入 4 个数据,分别表示进行运算的两个复数的实部和虚部
c) 输出描述
2 行,分别显示两个复数进行加、减运算的结果
d) 样例输入
1 3 2 5
e) 样例输出
3+8i
-1-2i
4. 二进制类(1)——运算符重载
a) 题目描述
将一个 16 位二进制数表示成 0 和 1 的字符序列,即用一个字符数组来存放这个二
进制数。在这个类中设置两个构造函数,一个是传递整数参数的,另一个是传递字
符串参数的。因为用户在创建对象时传递的二进制数,可能是以整数形式给出,也
可能是以数字串形式给出,系统应该都能接受。另外有一个类型转换函数 int(),用
来将类类型向整型转换。两个重载运算符“+”,“-”,用来完成两个二进制数之间的
加减运算。
class binary { //定义二进制类
char bits[16]; //二进制字模数组
public:
binary(char *); //字符串参数构造函数
binary(int); //整型参数构造函数
friend binary operator +(binary,binary); //重载“+”
friend binary operator -(binary,binary); //重载“-”
operator int(); //类类型转换函数
void print();
};
主函数设计如下:
int main()
{
binary n1="1011";
binary n2=int(n1)+15;
binary n3=n1-binary(7);
n1.print();
n2.print();
n3.print();
cout<<int(n2)+5<<endl;
cout<<n2-binary(5)<<endl;
cout<<n3+binary(5)<<endl;
cout<<int(n3)-5<<endl;
return 0;
}
b) 输入描述
无
c) 输出描述
略
d) 样例输入
无
e) 样例输出
01011
11010
00100
31
21
9
-1
5. 二进制类(2)——运算符重载
a) 题目描述
在上一题的基础上,将 + 、 - 运算符定义为 binary 类的成员函数。并且重载运算
符 ~ 、 & 、 | ,分别将二进制数按位取反、数按位与及按位或。主函数设计如
下:
int main()
{
binary n1="1011";
剩余44页未读,继续阅读
资源评论
xxpr_ybgg
- 粉丝: 6564
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 使用ASP.NET Core和Entity Framework Core来构建一个基本的进销存系统.rar
- 深度学习经典数据集+FER2013面部表情识别+附带使用方法的python代码
- Python中,要实现连接多个相机并识别多个二维码.rar
- 使用FFT算法对一个信号进行分析.rar
- 171cms游戏应用下载系统源码.zip
- 基于jsp+servlet+mysql蛋糕甜品店购物网站源码+数据库(期末大作业).zip
- Java项目:在线蛋糕商城系统(java+jsp+mysql)源码+数据库+期末大作业.zip
- ZapyaClient10_7-1.apk
- 织梦cms站长导航网站源码.zip
- 基于SSM+MySQL的网络投票调查问卷系统源码+数据库(java期末大作业).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功