




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
c 实验指导书(c ) 实验一实验名称类的定义与使用学时安排4实验类别验证性实验实验要求1人1组 一、实验目的和任务(黑体小四)实验一类的定义与使用)掌握类的概念、类的定义格式、类与结构的关系、类的成员属性和类的封装性;)掌握类对象的定义;)理解类的成员的访问控制的含义,公有、私有和保护成员的区别;)掌握构造函数和析构函数的含义与作用、定义方式和实现,能够根据要求正确定义和重载构造函数。 能够根据给定的要求定义类并实现类的成员函数; 二、实验原理介绍验证性实验;通过建立类及对象,用类的成员函数和对象访问类的成员;利用建立类的构造函数,完成类的成员的初始化工作; 三、实验设备介绍软件需求硬件需求对于硬件方面的要求,建议配置是以上的处理器,以上的内存,的自由硬盘空间、驱动器、能支持位真彩色的显示卡、彩色显示器、打印机。 四、实验内容和步骤 1、实验内容 1、声明一个CPU类,包含等级(rank)、频率(freauency)、电压(voltage)等属性,有两个公有成员函数run、stop。 其中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(身份证号)等等。 声明为enum CPU_Rank其中“出生日期”声明为一个“日期”类内嵌子对象。 用成员函数实现对人员信息的录入和显示。 要求包括构造函数和析构函数、拷贝构造函数、内联成员函数。 组合。 2、实验步骤 1、源程序为#includeenum CPU_Rankp1=1,p2,p3,p4,p5,p6,p7;class CPUprivate:CPU_Rank rank;int freauency;float voltage;public:CPU(CPU_Rank r,int f,float v)rank=r;freauency=f;voltage=v;cout”this isCPU constructprogram” 2、源程序为#includeclass RAM;class CDROM;class Computerprivate:CPU cpu;RAM ram;CDROM cdrom;Computer(CPU c,RAM r,CDROM c)cout”this isthe ComputerConstruct” 1、注意类的定义; 2、类的成员函数的访问方式; 五、注意事项和要求要求学生要提前准备实验的内容实验完成后要求写出实验报告实验二实验名称构造函数的重载学时安排4实验类别验证性实验实验要求1人1组 一、实验目的和任务(黑体小四)实验二构造函数重载)理解构造函数重载的含义用法)掌握构造函数重载的设计方法)掌握构造函数和析构函数的含义与作用、定义方式和实现,能够根据要求正确定义和重载构造函数。 能够根据给定的要求定义类并实现类的成员函数; 二、实验原理介绍验证性实验;根据要求正确定义和重载构造函数、拷贝构造函数。 三、实验设备介绍软件需求硬件需求对于硬件方面的要求,建议配置是以上的处理器,以上的内存,的自由硬盘空间、驱动器、能支持位真彩色的显示卡、彩色显示器、打印机。 四、实验内容和步骤内容定义并测试长方形类CRect,长方形是由左上角坐标(left,top)和右下角坐标(right,bottom)组成。 步骤#include#includeclass CRect/定义长方形类private:int left,top,right,bottom;public:void setcoord(int,int,int,int);void getcoord(int*L,int*T,int*R,int*B)/注意形参为指针变量*L=left;*T=top;*R=right;*B=bottom;void print(void)coutArea=;cout (xx);/自动调用构造函数2Date d3(xx,10);/自动调用构造函数3Date d4(xx,10,6);/自动调用构造函数4d1.ShowDate();d2.ShowDate();d3.ShowDate();d4.ShowDate();运行结果是xx.1.1xx.1.1xx.10.1xx.10.6当然我们可以定义带缺省值的构造函数,将上述构造函数简化,下述程序的功能与上述程序相当#includeclass Dateint Year,Month,Day;public:Date(int y=xx,int m=1,int d=1)/带参数缺省值的构造函数Year=y;Month=m;Day=d;void ShowDate()cout (xx),d3(xx,10),d4(xx,10,6);d1.ShowDate();d2.ShowDate();d3.ShowDate();d4.ShowDate();运行结果与上例一样。 题目3定义学生类,利用构造函数初始化数据成员,利用析构函数做清理工作。 #include#includeclass Studentchar Num10;/学号,注意用数组实现char*Name;/姓名,注意用指针实现int Score;/成绩public:Student(char*nump,char*namep,int score)if(nump)/在构造函数中,/不需要动态申请Num成员的空间strcpy(Num,nump);else strcpy(Num,);if(namep)/在构造函数中,/需动态申请Name成员的空间Name=new charstrlen(namep)+1;strcpy(Name,namep);else Name=0;Score=score;coutConstructor Called!n;Student()/在析构函数中,/需释放Name成员的空间if(Name)deleteName;coutDesturctor Called!n;void Show()cout 五、注意事项和要求要求学生要提前准备实验的内容实验完成后要求写出实验报告实验三实验名称成员函数设计(组合类)学时安排4实验类别验证性实验实验要求1人1组 一、实验目的和任务(黑体小四)实验三成员函数设计(组合类)1)掌握成员函数设计的使用方法)掌握组合类构造函数的定义和实现 二、实验原理介绍验证性实验;介绍类的聚集,当一个类内嵌其它类作为数据成员时,其初始化采用组合类构造函数来实现。 三、实验设备介绍软件需求硬件需求对于硬件方面的要求,建议配置是以上的处理器,以上的内存,的自由硬盘空间、驱动器、能支持位真彩色的显示卡、彩色显示器、打印机。 四、实验内容和步骤内容静态成员函数的使用。 步骤:#includeclass Sampleint a;static int b;public:Sample(int x)a=x;b+=x;static voiddisp(Sample s)/Acouta= (2),s2 (3);Sample:disp(s1);/C Sample:disp(s2);/D运行结果如下a=2,b=15a=3,b=15题目2通过公有函数接口访问私有成员步骤#include#includeclass Pointint x,y;public:Point(int a=0,int b=0)x=a;y=b;Point()void Show()coutPoint( 五、注意事项和要求要求学生要提前准备实验的内容实验完成后要求写出实验报告实验四实验名称实验四继承与派生学时安排4实验类别验证性实验实验要求1人1组 一、实验目的和任务(黑体小四)实验四继承与派生)理解继承的含义,掌握派生类的定义方法和实现;)理解公有继承下基类成员对派生类成员和派生类对象的可见性,能正确地访问继承层次中的各种类成员;)理解保护成员在继承中的作用,能够在适当的时候选择使用保护成员以便派生类成员可以访问基类的部分非公开的成员;)理解虚函数在类的继承层次中的作用,虚函数的引入对程序运行时的影响,能够对使用虚函数的简单程序写出程序结果。 二、实验原理介绍验证性实验具体原理请见实验内容和步骤 三、实验设备介绍软件需求硬件需求对于硬件方面的要求,建议配置是以上的处理器,以上的内存,的自由硬盘空间、驱动器、能支持位真彩色的显示卡、彩色显示器、打印机。 四、实验内容和步骤题目先定义“点”类Point,再由“点”类派生出“圆”类Circle。 #include#define PI3.14159class Point/定义“点”类int x,y;public:Point(int a=0,int b=0)x=a;y=b;void ShowPoint()coutPoint:( (2);/重新置半径值c.ShowCircle();题目2:先定义“点”类Point和“半径”类Radius,再由Point类和Radius类多重派生出“圆”?问题能否将move函数体改写为x=x+x_offset;y=y+y_offset;类Circle。 #include#define PI3.14159class Pointprotected:/A int x,y;public:Point(int a=0,int b=0)x=a;y=b;void ShowPoint()coutPoint:( (2);c.ShowCircle();程序的运行结果为Point:(1,1)Radius:1Area:3.14159Point:(2,3)Radius:1Area:3.14159Point:(4,5)Radius:2Area:12.5664题目3多重继承中基类构造函数和析构函数的调用顺序#includeclass Base1protected:int data1;public:Base1(int a=0)data1=a;coutBase Constructor1n;Base1()coutBase Destructor1n;class Base2protected:int data2;public:Base2(int a=0)data2=a;coutBase Constructor2n;Base2()coutBase D
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健康促进县汇报
- 二级甲等中医院建设发展汇报材料
- CVC置管护理留置时间
- 人力年度工作总结
- 大学生就业观调查汇报
- 体育教学工作总结
- 消防安全培训与足浴课件
- 患者进入病区的初步护理
- PMC计划部年终总结报告
- 汽车制造年终工作总结
- 密歇根九级综合复习题
- 供货方案及保证措施供货服务方案
- 新冠核酸检测结果报告单
- 2023年人教版初中英语八年级Unit 4 教案
- 施乐S2011、S2320、S2520维修手册
- GB/T 32892-2016光伏发电系统模型及参数测试规程
- GB/T 14339-2008化学纤维短纤维疵点试验方法
- GB/T 10708.1-2000往复运动橡胶密封圈结构尺寸系列第1部分:单向密封橡胶密封圈
- 骨髓细胞学检查-英文版课件
- 惠普云教室用户操作手册
- 基于PLC的物料分拣系统设计
评论
0/150
提交评论