《C++程序设计》实验二报告_第1页
《C++程序设计》实验二报告_第2页
《C++程序设计》实验二报告_第3页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《C++程序设计(B)》课程实验报告姓名:满恂钰班级学号:通信2班2016080331040学院:智慧城市学院专业:通信工程指导教师:肖明明20180514日实验二类和对象上课时间:2018.5.14 地点:实验楼0709实验目的掌握类的声明和使用。掌握对象的声明。复习具有不同访问属性的成员的访问方式。观察构造函数和析构函数的执行过程。学习类的组合使用方法。二实验内容1、实验内容1声明一个CPU类,包含等级ran、频率frequenc、电压voltag)runstop为枚举类型CPU-Rank,enumCPU-Rank{P1=1,P2,P3,P4,P5,P6,P7};frequencyMHz型数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。【源程序】#include<iostream>usingnamespacestd;enumCPU_Rank{P1=1,P2,P3,P4,P5,P6,P7};classCPU{private:CPU_Rankrank;intfrequency;floatvoltage;public:CPU(intra,intfre,floatvol){rank=(CPU_Rank)ra;frequency=fre;voltage=vol;cout<<"等级:"<<enum(P7)<<endl;cout<<"频率:"<<fre<<endl;cout<<"电压:"<<vol<<endl;cout<<"}~CPU(){cout<<"析构了一个CPU!"<<endl;}voidRun(){cout<<"CPUisruning!"<<endl;}voidStop(){cout<<"CPUisstop!"<<endl;}};intmain(){CPUa(2,30,220);a.Run();a.Stop();}【结果及分析】(1)实验结果截图析构函数和构造函数的调用顺序,实验通过。【错误及解决办法】错误:cout<<"等级:"<<enum(P7)<<endl;经检查该语句中enum后使用了P7CPUa(2,30,220)2enum(P7)ra即可。2、实验内容2声明一个简单的Computer类,有数据成员芯片cp、内存ram、光驱run和stopCpu为CPU类的一个对象,ramRAM为CDROM个类。【源程序】#include<iostream>usingnamespacestd;enumCPU_Rank{P1=1,P2,P3,P4,P5,P6,P7};classCPU{private:CPU_Rankrank;intCpu;public:CPU(){cout<<"构造了一个CPU!"<<endl;}~CPU(){cout<<"voidRun(){cout<<"CPUisruning!"<<endl;}voidStop(){cout<<"CPUisstop!"<<endl;}};classRAM{private:intpublic:RAM(){cout<<"构造了一个ram!"<<endl;}~RAM(){cout<<"voidRun(){cout<<"ram开始运行!"<<endl;}voidstop(){cout<<"ram停止运行!"<<endl;}};classCDROM{private:intcdrom;public:CDROM(){cout<<"构造了一个cdrom!"<<endl;}~CDROM(){cout<<"voidRun(){cout<<"cdrom开始运行!"<<endl;}voidstop(){cout<<"cdrom停止运行!"<<endl;}};classCOMPUTER{private:CPUCpu;RAMram;CDROMcdrom;public:COMPUTER(){cout<<"构造了一个computer!"<<endl;}~COMPUTER(){cout<<"computer!"<<endl;}voidRun(){cout<<"computer开始运行"<<endl;}voidStop(){cout<<"computer停止运行"<<endl;}};intmain(){COMPUTERa;a.Run();a.Stop();return0;}【结果及分析】实验结果截图CPU。而最后被调用的构造函数,其对应的析构函数最先被调用。规律:先构造的后析构【错误及解决办法】使用参数导致程序编译时出现许多错误。cout打印出来的结果清晰明了。3、实验内容3设计一个用于人事管理的People(人员)类。考虑到通用性,这里只抽象出所有类型人员都具有的属性:number(编号sex(性别birthday(出生日期、id(身份证号)等等。其中出生日期"【源程序】#include<iostream>#include<string>usingnamespacestd;classdata{private:intyear;intmonth;intday;public:data(){cout<<"构造了一个日期!"<<endl;}~data(){cout<<"析构了一个日期!"<<endl;}voidsetdata(intY,intM,intD){year=Y;month=M;day=D;}voiddisplay(){cout<<year<<"年"<<month<<"月"<<day<<"日";}};classpeople{private:intnumber;charsex;databirthday;charid[18];public:people(){cout<<"构造了一个人的信息!"<<endl;}~people(){cout<<"析构了一个人的信息!"<<endl;}setpeople(intNu,charsex,charid[18]):birthday(year,month,day){number=Nu;sex=sex;birthday=bir;strcpy(id,id);cout<<"编号:"<<Nu<<endl;cout<<"性别:"<<sex<<endl;cout<<"生日:"<<bir<<endl;cout<<"身份证:"<<id<<endl;}};intmain(){datab;b.setdata(1998,07,27);b.display();peoplep1;p1.setpeople(40,"m",07.27,530322);return0;}【结果及分析】实验结果截图程序编译出现8个错误。运行未通过。确应用。【错误及解决办法错误:1、未编写复制构造函数。2、未编写组合类构造函数。解决方法:1、复制构造函数语句:Date(Date&birthday){ //Date的复制构造函数的实现year=birthday.year;month=birthday.month;day=birthday.day;}2、组合构造函数语句:People::People(intn,strings,int b):number(n),sex(s),id(i),birthday(b){}三实验总结成功

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论