C++程序设计实验报告
更新时间:2023-12-21 09:26:01 阅读量: 教育文库 文档下载
C++程序设计实验报告
姓 名 班 级 实验名称 学 号 指 导 教 师 评定人签字 评 定 日 期 开 设 学 期 实 验 时 间 评 定 成 绩
一、实验目的
(1)学习编写简单的C++程序,并掌握C++程序的基本格式与规范,理解C++程序结构的特点。
(2)掌握函数的定义和调用方法。
(3)练习重载函数、函数模板、系统函数的使用。
(4)学习使用VC ++的debug调试功能,使用step into追踪到函数内部。 (5)学习类与对象的定义和使用方法以及对象的声明。 (6)学习具有不同属性的数据成员与成员函数的访问方式。 (7)理解构造函数和析构函数的定义与执行过程。 (8)掌握运算符重载的方法。 (9)学习使用虚函数实现动态多态性。
(10)熟悉流类库中常用的类及其成员函数的用法。 (11)学习标准输人输出及格式控制。
(12)学习对文件的应用方法(二进制文件、文本文件)。
二、实验内容与实验步骤
实验一:
(1)输人并运行所给的参考程1,并将程序中的注释部分也输人计算机,体会和理解程序的基本格式规范。
(2)编写一个函数把华氏温度转换为摄氏温度,转换公式为C= (F一32)*5/9。 (3)编写重载函数Maxl可分别求取两个整数,三个整数,两个双精度数,三个双精度数的最大值。
(4)使用重载函数模板重新实现上小题中的函数Maxl。
(5)使用系统函数pow(x,y)计算xy的值,注意包含头文件math.h。 (6)用递归的方法编写函数求Fibonacci级数,观察递归调用的过程。
实验二:
(1)定义一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop,其中rank为枚举类型CPU_ Rank,定义为enum CPU_ Rank(P1 = 1,P2,P3,P4,P5,P6,P7),frequency为单位是MHz的整型数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。
(2)定义一个简单的Computer类,有数据成员芯片(CPU),内存(ram),光驱(cdrom)等等,有两个公有成员函数run、stop,CPU为CPU类的一个对象,ram
为RAM类的一个对象,cdrom为CDROM类的一个对象,定义并实现这个类。 (3)设计一个用于人事管理的People(人员)类。考虑到通用性,这里只抽象出所有类型人员都具有的属性:number(编号),sex(性别),birthday(出生日期),id(身份证号)等等。其中“出生日期”定义为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数。 实验三:
(1)定义Point类,有坐标_x,_y两个成员变量;对Point类重载“++”(自增)、“--”(自减)运算符,实现对坐标值的改变。
(2)定义一个车(vehicle)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar) 类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。观察虚函数的作用。 (3)对实验二中的people类重载“==”运算符和“=”运算符,“==”运算符判断两个people类对象的id属性是否相等;“=”运算符实现people类对象的赋值操作。 实验四:
(1)编写程序,用二进制方式读写指定的文件a.bin,在每一行前加行号,写入另一个二进制文件b.bin中,从b.bin中读取数据输出到屏幕。
(2)使用实验二中的人员类数组,输人数据并显示出来,重载“<<”运算符把此数组的内容写人磁盘文件,再重载“>>”运算符显示出文件内容。 (3)设计一个留言的类,实现以下功能:
程序第一次运行时,建立一个名为C\\:msg. ini的文本文件,并把用户输人的信息存人该文件。
以后每次运行时,都先读取该文件的内容并显示给用户,然后由用户输人新的信息,退出时将新的信息存人这个文档。文件的内容,既可以是最新的信息,也可以包括以前所有的信息,请自己选择。
三、实验过程与分析
实验一
实验二
(1)
(2)
(3)实验三
(1)
(2)
(3)实验四
(1)
(2)
(3)
四、实验结果总结
1. Visual C++ 6.0环境下是如何管理项目和文件的?
通过创建项目,进而在该项目中创建一个或多个文件。
2. C++提供的输入输出操作与C语言的输入输出操作的异同点? C语言中scanf和printf不是类型安全且不具有扩展性;而c++是类型安全且有扩展性;C语言中要把读写变量和控制读写信息分开,而c++不需要。 3. C++引入的内联函数与其它函数有何不同?
内联函数应该放在头文件中定义,在函数返回类型前加上inline关键字。 4. 重载函数时通过什么来区分?
根据原方法名、各个参数的数据类型、顺序和数量生成新的方法名,与其他因素无关。
5. 类和结构体的区别是什么?
结构体中的数据默认方式是public的,而类是private的结构体不提供继承机制,类提供继承机制,实现代码复用类可以实现多态,结构体不支持 。 6. 类的成员函数与普通的函数有何区别?
普通函数可以随便调用,并且无法继承和封装,成员函数根据类不同,可以继承和封装。
7. 构造函数和析构函数的作用是什么?
构造函数用于新对象的初始化工作;析构函数用于撤销对象前的清理工作。 8. 类的访问控制权限有何意义?
以实现数据和方法的公有和私密性。 9. 什么是封装?类是如何进行封装的? 封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。
10. 多态性是如何实现的?
多态可以通过模板和函数重载来实现
11. 虚析构函数的作用是什么?如何发挥作用? 为了正确析构基类指针指向的派生类对象。 12. 运算符重载和函数重载有何异同点?
从意义上说,都是定义了一种新的成员函数;从作用上说,运算符重载是赋予运算符新的含义。
13. 什么是流?使用流有那些好处?
流时c++标准库类的一个类,包括常用的输入输出流。可以简化程序员对电脑的一些操作。
14. C++为什么要有自己的输入输出系统?
因为c++是一种面向对象的语言,因此将I/O设计成一个类便于用户操作。 15. 随机文件与顺序文件有什么区别?在随机文件中如何确定文件指针的位
置?
顺序文件从头到尾进行检索,随机文件可以直接按照数据偏移量定位。 16. C++与定义了那些流?他们分别与什么设备相连?
输入输出流连接控制台;文件流连接文件;字符串流连接字符串。
通过这段时间c++上机实验,我更加深刻地理解了c++作为一门面向对象编程语言的魅力,也渐渐熟悉了与C语言不同的类、流的相关知识。上机实验是学习程序设计语言必不可少的实践环节,因为需要通过编程的实践来真正掌握它。通过上网和询问等方式,我也解决了不少在实践中的问题。希望在以后的学习中继续完善对这门编程语言的运用!
评价表格: 评价内容 具 体 要 求 分值 得分 平时表现 课程设计过程中,无缺勤现象,态度积极,具有严谨的学习态度和认真、踏实、一丝不苟的科学作风。 能够按照规范提交课程设计要求的所有材料(要求在以“学号-姓名”命名的文件夹中,包含实验报告电子版和实验源代码等),材料完备,格式内容等符合要求。 实验报告格式规范,符合要求;报告内容充实、正确,实验目的归纳合理到位。 能够按实验要求合理设计并开发出程序,功能完整性强,原理及实验结果分析准确,归纳总结充分。 总 分 10 提交材料 10 报告质量 30 实验内容 50
正在阅读:
C++程序设计实验报告12-21
食品毒理学复习题09-20
修图工作总结(多篇)范例08-03
2014—2015学年高三上学期厦门市质量检测语文试题08-11
中国传统文化春节05-21
长度和时间的测量_同步练习题(含答案)08-17
企业承包经营合同(完整版)10-01
2013年四川省公务员录用考试《行政职业能力测验》预测模拟试卷(精选)08-18
美世资料-岗位评估方法 - 图文03-18
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- C++
- 程序设计
- 实验
- 报告
- 西畴县林业生态建设发展与对策
- 总结六大方法降低网站跳出率
- 电气公司钣金折弯工艺守则规程 - 图文
- XXX标项目部职业卫生基础建设工作自查报告
- 2010-2011年中国生物柴油产业调研分析及发展预测报告简版
- 魔鬼口语1000句(82):他是个帅哥
- 巾帼文明示范岗考核细则
- 二元一次方程组导学案
- 2014年ACCA考试F2管理会计总汇10
- 浅谈班主任管理策略
- XX企业关于双职工子女放学后接送服务福利项目可行性方案
- Unix APUE去年的试卷
- 西安的公交
- 教学反思
- 警示灯课程设计报告 - 图文
- 城市地下管线探测技术规程测试题
- PDM-810AT防火漏电报警器
- 中心小学德育特色班级量化考核细则
- 中央广场外展场地租赁合同
- 2019年最新租房协议合同