- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息工程系课程实验报告
姓
名
学
号
实验学时 2 实验时间 217 年 12 月 1 日
实验地点
指导教师
课程名称 C++程序设计 专
业班
级
成绩
实验项目 类和对象(构造函数、析构函数、组合类、友元)
实 验 目 的 1、理解类的概念;2、掌握声明类的方法; 3、掌握对象的定义和初始化 4、掌握通过类编写程序 5、构造函数、析构函数 6、对象数组、对象引用、对象指针 7、组合类 8、静态成员 9、友元 实 验 内 容 和 要 求 1、阅读“程序 txt”,然后回答以下问题
1)行 A 定义了一个类 Test 的对象,它将调用哪个构造函数
2)行 A 能否写成 Test t1();
为什么不可以或者可以?
3)行 B 定义了另一个对象,它将调用哪个构造函数
4)解释第二个构造函数的函数体中用到 this 指针的原因:?
5)解释行 C 数组 p 的含义?
2、阅读“程序 txt”,然后回答以下问题
1)行 A 中动态申请的数组为何还要将数组大小加 1
2)String 类中是否还存在默认的构造函数“String(); "
3)行 B 开始的构造函数称之为
构造函数。解释其功能
4)执行行 C 时会调用哪个构造函数
5)上机验证该程序。
3、阅读“程序 txt”,然后回答以下问题
1)执行行 A 后,ac=
ac=
A::c=
2)执行行 B 后,ac=
ac=
A::c=
3)行 B 可否改为”A::c=4;”
为什么
4)c 为类 A 的私有成员,但行 D 中为何通过 t 能直接访问成员 c
5)执行行 E 后,ac=
ac=
A::c=
第 1 题、第 2 题和第 3 题不用抄题目,只需写答案在报告纸上。
4、定义一个点类 Point,包括数据成员点的 x 坐标和 y 坐标(int)、构造函数以及设置点 x,y 坐标的成员函数。定义一个 CRect 类,代表一个矩形,要求
CRect 类中有代表矩形的左上角坐标(x1,y1)和右下角坐标(x2,y2)点类的对象(组合类),要求 CRect 类中有三个成员函数 RectHeight()、RectWidth()以及area(),通过这三个函数能得到矩形的高和宽和面积。
要求 CRect 类中有构造函数,要求 CRect 类中有成员函数 SetR(),通过这函数能设置矩形的左上角坐标和右下角坐标。
5、建立一个类 primenum,求指定数据范围内的所有质数。具体要求如下
1)私有数据成员 int data[25]
依次存放指定范围内求出的所有质数 int low,high
存放指定的数据范围的下限和上限 int num
存放 low 与 high 之间的质数的个数
2)公有成员函数 primenum(int low,int high)
构造函数,初始化 low 和 high,同时在函数体内初始化 num 为 int isprime(int x)
判断 x 是否为质数。若是质数,返回 1;否则,返回 . void process()
求指定范围内的所有质数,把它们依次存放在数组 data,并将求出的质数个数存放在 num 中 void print()
输出求出的质数个数以及所有质数,要求每行输出 5 个质数。
3)在主函数中对该类进行测试。例如定义一个 primenum 类的对象 test,指定查找范围为 1~2,求出 1~2 之间的所有质数。
实 验 过 程 (算法、源代码以及注释)
实 验 结 果 (记录程序执行的结果,分析结果)
实 验 总 结 (记录程序在调试过程中出现的问题以及解决方法、总结收获和心得)
文档评论(0)