ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:170.82KB ,
资源ID:3025977      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3025977.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《C++程序设计》实验二报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《C++程序设计》实验二报告.docx

1、C+程序设计实验二报告C+程序设计(B)课程实验报告姓 名: 满恂钰 班 级 学 号: 通信2班 2016080331040 学 院: 智慧城市学院 专 业: 通信工程 指 导 教 师: 肖明明 2018年05月14日实验二 类和对象上课时间:2018.5.14 地点:实验楼0709一 实验目的1掌握类的声明和使用。 2掌握对象的声明。 3复习具有不同访问属性的成员的访问方式。 4观察构造函数和析构函数的执行过程。 5学习类的组合使用方法。二 实验内容1、实验内容1 声明一个 CPU 类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数 run

2、 、stop。其中,rank 为枚举类型 CPU-Rank,声明为enum CPU-RankP1=1,P2,P3,P4,P5,P6,P7;frequency为单位是MHz的整型数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。【源程序】#include using namespace std;enum CPU_RankP1=1,P2,P3,P4,P5,P6,P7;class CPU private: CPU_Rank rank; int frequency; float voltage; public: CPU(int ra,int fre,float vol) rank=

3、(CPU_Rank)ra; frequency=fre; voltage=vol; cout等级:enum(P7)endl; cout频率:freendl; cout电压:volendl; cout构造了一个CPU!endl; CPU() cout析构了一个CPU!endl; void Run() coutCPU is runing!endl; void Stop() coutCPU is stop!endl; ;int main() CPU a(2,30,220); a.Run(); a.Stop();【结果及分析】(1)实验结果截图(2)实验结果分析:掌握了类的声明和使用以及对象的声明,初

4、步明白了析构函数和构造函数的调用顺序,实验通过。【错误及解决办法】 错误:cout等级:enum(P7)endl;经检查该语句中enum后使用了(P7),则之后的CPU a(2,30,220);中2就没有意义。 解决方法:把enum(P7)替换成ra即可。2、实验内容2声明一个简单的 Computer 类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等,有两个公有成员函数 run 和 stop。Cpu 为 CPU 类的一个对象,ram 为RAM 类的一个对象,cdrom 为 CDROM 类的一个对象,声明并实现这个类。【源程序】#include using namespace

5、std;enum CPU_RankP1=1,P2,P3,P4,P5,P6,P7;class CPU private: CPU_Rank rank; int Cpu; public: CPU()cout构造了一个CPU!endl; CPU()cout析构了一个CPU!endl; void Run()coutCPU is runing!endl; void Stop()coutCPU is stop!endl;class RAM private: int ram; public: RAM()cout构造了一个ram!endl; RAM()cout析构了一个ram!endl; void Run()c

6、outram开始运行!endl; void stop()coutram停止运行!endl;class CDROM private: int cdrom; public: CDROM()cout构造了一个cdrom!endl; CDROM()cout析构了一个cdrom!endl; void Run()coutcdrom开始运行!endl; void stop()coutcdrom停止运行!endl;class COMPUTER private: CPU Cpu; RAM ram; CDROM cdrom; public: COMPUTER()cout构造了一个computer!endl; CO

7、MPUTER()cout析构了一个computer!endl; void Run()coutcomputer开始运行endl; void Stop()coutcomputer停止运行endl;int main() COMPUTER a; a.Run(); a.Stop(); return 0;【结果及分析】(1)实验结果截图(2)实验结果分析:调用析构函数的次序正好与调用构造函数的次序相反:最先被调用的构造函数,其对应的析构函数最后被调用。例如图中CPU。而最后被调用的构造函数,其对应的析构函数最先被调用。规律:先构造的后析构,后构造的先析构,实验通过。【错误及解决办法】错误:一开始一个类里面

8、构造了过多的参数,导致程序杂乱并且不能很好的使用参数导致程序编译时出现许多错误。解决方法:删除了没有意义的参数,只留下了cout输出语句,使程序运行时打印出来的结果清晰明了。3、实验内容3设计一个用于人事管理的 People(人员)类。考虑到通用性,这里只抽象出所有类型人员都具有的属性:number(编号)、sex(性别)、birthday(出生日期)、id(身份证号)等等。其中出生日期定义为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、复制构造函数、内联成员函数、带缺省形参值的成员函数、聚集。【源程序】#include #include usi

9、ng namespace std;class data private: int year; int month; int day; public: data()cout构造了一个日期!endl; data()cout析构了一个日期!endl; void setdata(int Y,int M,int D) year = Y; month = M; day = D; void display() coutyear年month月day日; ;class people private: int number; char sex; data birthday; char id18; public:

10、people()cout构造了一个人的信息!endl; people()cout析构了一个人的信息!endl; setpeople(int Nu,char sex,char id18):birthday(year,month,day) number = Nu; sex = sex; birthday = bir; strcpy(id,id); cout编号:Nuendl; cout性别:sexendl; cout生日:birendl; cout身份证:idendl; ;int main() data b; b.setdata(1998,07,27); b.display(); people p

11、1; p1.setpeople(40,m,07.27,530322); return 0 ;【结果及分析】(1)实验结果截图程序编译出现8个错误。运行未通过。(2)错误分析:组合类构造函数以及复制构造函数知识点不清晰,不能正确应用。【错误及解决办法】 错误:1、未编写复制构造函数。2、未编写组合类构造函数。 解决方法:1、复制构造函数语句:Date(Date &birthday) /Date的复制构造函数的实现 year=birthday.year; month=birthday.month; day=birthday.day; 2、组合构造函数语句: People:People(int n,

12、string s,int i,Date b):number(n),sex(s),id(i),birthday(b) 三 实验总结1成功编写了实验内容要求一和二的程序、编译并调试通过。 2. 实验报告按照“实验报告模板”书写,思路清晰,格式规范。 3实验报告中写清了姓名、学号、实验时间地点、实验题目、实验目的、实验内容及实验过程。 4有实验结果分析。报告中应含源代码,打印出了运行结果;未调试通过或结果不正确的程序,分析了原因。 5. 实验报告中记录编程过程中出现的错误与改正方法。 6. 通过这三个小实验的编写,使我知道了关于这一章节我还有哪些知识点还有待加强,以及在编程速度上略微缓慢(单词的不熟、打字速度慢)。对于实验2,虽然没有参数看起来更清晰明了,但有了参数可以更直观的了解析构函数和构造函数内部语句的调用顺序以及是否被调用,因此,我认为应当在其加入一些参数。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1