欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C++上机实验报告3.doc

    • 资源ID:2742212       资源大小:735.30KB        全文页数:11页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C++上机实验报告3.doc

    -+C+程序实验报告实验目的 1.掌握类的定义和使用 2.掌握类的定义和对象的声明 3.复习具有不同访问属性的成员的访问方式 4.观察构造函数和析构函数的执行过程 5.学习类的组合使用方法 6.使用VC+的debug调试功能观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序实验要求 1. 定义一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop。其中,rank为枚举类型CPU_Rank,定义为enum CPU_RankP1=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 首先定义枚举类型CPU_Rank,例如enum CPU_RankP1=1, P2, P3, P4, P5, P6, P7,再定义CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等私有数据成员,定义成员函数run、stop,用来输出提示信息,在构造函数和析构函数中也可以输出提示信息。在主程序中定义一个CPU的对象,调用其成员函数,观察类对象的构造与析构顺序,以及成员函数的调用。程序名:lab4_1.cpp。源程序#include<iostream>using namespace std;enum CPU_Rank P1=1,P2,P3,P4,P5,P6,P7;class CPUprivate:CPU_Rank rank;int frequency;float voltage;public:CPU(CPU_Rank r, int f, float v);CPU();CPU_Rank GetRank()return rank;int GetFrequency()return frequency;float GetVoltage()return voltage;void SetRank(CPU_Rank r)rank=r;void SetFrequency(int f)frequency=f; void SetVoltage(float v)voltage=v; void Run()cout<<"CPU开始运行!"<<endl;void Stop()cout<<"CPU停止运行!"<<endl;CPU:CPU(CPU_Rank r, int f, float v)rank=r;frequency=f;voltage=v;cout<<"构造了一个CPU!"<<endl;CPU:CPU()cout<<"析构了一个CPU!"<<endl;void main()CPU a(P4, 200, 3.8);a.Run();a.Stop();运行结果: 2.使用debug调试功能观察程序lab4_1.cpp的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。 3调试操作步骤如下: 1)单击Build | Start Debug | Step Into命令,或按下快捷键F11,系统进入单步执行状态,程序开始运行,一个DOS窗口出现,此时Visual Studio 中光标停在main()函数的入口处; 2)从Debug菜单或Debug工具栏中单击Step Over,此时,光标下移,程序准备执行CPU对象的初始化; 3)单击Step Into,程序准备执行CPU类的构造函数; 4)连续单击Step Over,观察构造函数; 5)此时程序准备执行CPU对象的run()函数,单击Step Into,程序进入run()成员函数,连续单击Step Over,直到回到main()函数。 6)继续执行程序,参照上述的方法,观察程序的执行顺序,加深对类的构造函数、析构函数、成员函数的执行顺序的认识。 7)再试试Debug菜单栏中别的菜单项,熟悉Debug的各种方法。 运行结果:4.首先定义CPU类(可使用第二题中的CPU类)、RAM类、CDROM类。再定义Computer类;定义私有数据成员cpu、ram、cdrom,定义公有成员函数run、stop,可在其中输出提示信息。在主程序中定义一个Computer的对象,调用其成员函数,观察类对象及其成员变量的构造与析构顺序,以及成员函数的调用。程序名:lab4_2.cpp.源程序#include<iostream>using namespace std;enum CPU_Rank P1=1,P2,P3,P4,P5,P6,P7;class CPUprivate:CPU_Rank rank;int frequency;/频率float voltage;/电压public:CPU(CPU_Rank r, int f, float v);CPU();CPU();CPU_Rank GetRank()return rank;int GetFrequency()return frequency;float GetVoltage()return voltage;void SetRank(CPU_Rank r)rank=r;void SetFrequency(int f)frequency=f; void SetVoltage(float v)voltage=v; void Run()cout<<"CPU开始运行!"<<endl;void Stop()cout<<"CPU停止运行!"<<endl;CPU:CPU(CPU_Rank r, int f, float v)rank=r;frequency=f;voltage=v;cout<<"构造了一个CPU!"<<endl;CPU:CPU()cout<<"析构了一个CPU!"<<endl;/enum RAM_Rank K1=1,K2,K3,K4,K5,K6,K7;class RAMprivate:RAM_Rank rank;int frequency;float voltage;int large;/大小 public:RAM(RAM_Rank r, int f, float v,int c);RAM();RAM()RAM_Rank GetRank()return rank;int GetFrequency()return frequency;float GetVoltage()return voltage;void SetRank(RAM_Rank r)rank=r;void SetFrequency(int f)frequency=f; void SetVoltage(float v)voltage=v;void Setlarge(int c)large=c; void Run()cout<<"RAM开始运行!"<<endl;void Stop()cout<<"RAM停止运行!"<<endl;RAM:RAM(RAM_Rank r, int f, float v,int c)rank=r;frequency=f;voltage=v;large=c;cout<<"构造了一个RAM!"<<endl;RAM:RAM()cout<<"析构了一个RAM!"<<endl;/enum CDROM_Rank J1=1,J2,J3,J4,J5,J6,J7;class CDROMprivate:CDROM_Rank rank;int frequency;float voltage;int large;/大小float w;/转速public:CDROM(CDROM_Rank r, int f, float v,int c,float m);CDROM();CDROM()CDROM_Rank GetRank()return rank;int GetFrequency()return frequency;float GetVoltage()return voltage;void SetRank(CDROM_Rank r)rank=r;void SetFrequency(int f)frequency=f; void SetVoltage(float v)voltage=v;void Setlarge(int c)large=c;void Setw(float m)w=m; void Run()cout<<"CDROM开始运行!"<<endl;void Stop()cout<<"CDROM停止运行!"<<endl;CDROM:CDROM(CDROM_Rank r, int f, float v,int c,float m)rank=r;frequency=f;large=c;w=m;voltage=v;cout<<"构造了一个CDROM!"<<endl;CDROM:CDROM()cout<<"析构了一个CDROM!"<<endl;class COMPUTERprivate:CPU cpu;RAM ram;CDROM cdrom;public:void Run()cout<<"computer RUN"<<endl;void Stop()cout<<"computer STOP"<<endl;COMPUTER()COMPUTER(CPU&cpu1,RAM& ram1,CDROM& cdrom1)cpu=cpu1;ram=ram1;cdrom=cdrom1;COMPUTER(COMPUTER&computer2)cpu=computer2.cpu;ram=computer2.ram;cdrom=computer2.cdrom;int main()CPU cpu(P1,100,2);RAM ram(K2, 100, 2, 12 );CDROM cdrom(J3,100,23,233,23);COMPUTER computer(cpu,ram,cdrom);computer.Run();computer.Stop();return 0;运行结果:5.使用debug调试功能观察lab4_2.cpp程序的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序,特别注意观察成员变量的构造与析构顺序。 运行结果:思考题 1. 如何定义一个类? 数据,构造函数,析构函数,复制构造函数,方法。2. 如何定义类的构造函数和析构函数?构造函数通用于实例化象自内部数据员初始化设置初始值、配内存空间等析构函数则用于删除象做收尾工作比释放申请空间等3. 类的各成员函数的执行顺序是怎样的?按调用顺序执行4. 类组合时对象的构造顺序是怎样的? C+构造函数中初始化成员_参数列表初始化成员(必须用原因:对象成员的初始化,const修饰的成员的初始化,引用成员的初始化,子类调用父类的构造函数初始化父类成员)_参数列表在构造函数执行之前执行,参数列表中执行的是初始化(所有的成员,无论是否出现在参数列表中,都会有初始化),参数列表的执行顺序与类中成员的声明顺序,与类的继承顺序相一致_构造函数中执行的一般是赋值_多重继承,虚继承构造函数的参数初始化列表的区别6.心得体会:学到了什么;遇到的问题及解决方法等(可结合思考题) 构造函数,成员函数,析构函数的调用顺序。

    注意事项

    本文(C++上机实验报告3.doc)为本站会员(一***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开