还剩20页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
试验一类与对象
一、试验目的、掌握类的申明和使用
1、掌握类的申明和对象的申明
2、复习具有不一样访问属性的组员的访问方式
3、观测构造函数和析构函数的执行过程
4、学习类的组合使用措施
5、使用的调试功能观测程序流程,跟踪观测类的构造函数、析构函数、组员函6VC++debug数的执行次序
二、试验任务、申明一种类,包括等级()、频率()、电压()等属性,有两个1CPU rankfrequency voltage公有组员函数、其中,为枚举类型申明为run stoprank CPU_Rank,enum0为单位是的整型数,为浮点CPU_Rank{Pl=l,P2,P3,P4,P5,P6,P7},frequency MHzvoltage型的电压值观测构造函数和析构函数的调用次序、申明一种简朴的类,有数据组员芯片()>内存()、光驱()等等,2I Computercpu ramcdrom有两个公有组员函数、为类的一种对象,为类的一种对象,run stopocpu CPUJ ramRAM为类的一种对象,申明并实现这个类cdrom CDROM、(选作)设计一种用于人事管理的(人员)类考虑到通用性,这里只抽象出所有3I People类型人员都具有附属性(编号)、(性别)、(出生日期)、(身number sexbirthday id份证号)等等其中“出生日期”申明为一种“日期”类内嵌子对象用组员函数实现cout«”Begin...”«endl;cout«x=M«x«endl;cout«y=H«y«endl;…«cout«”Evaluate x and y in mainendl;int x=10,y=20;cout«x=n«x«endl;cout«y=n«y«endl;cout«nStep into fnl...n«endl;cout«”Back inmain*«endl;cout«x=*«x«endl;cout«*y=H«y«endl;return0;void fnlinty=200;cout«*x=H«x«endl;cout«y=n«y«endl;
2.//client.h#include iostream#include stringusingnamespace std;class CLIENT{private:static charServerName;static intClientNum;public:CLIENTO;;〜CLIENTstatic intGetClientNum;static voidChangServerNamechar name;static charGetServerName;;//client.cpp#include client.hCLIENT::CLIENTClientNum++;CLIENT::〜CLIENTClientNum—;int CLIENT::GetClientNumreturn ClientNum;void CLIENT::ChangServerNamechar nameServerName=name;char CLIENT::GetServerNamereturn ServerName;//test.cpp#include iostream.h#include Hclient.hnint CLIENT::ClientNum=0;char CLIENT::ServerName=N;int mainCLIENTa;CLIENT b;cout«”服务器名称为:n«CLIENT::GetServerName«endl;CLIENT::ChangServerNameA*;«”客户机数量为”cout vvCLIENT::GetClientNum«endl;«”服务器名称为cout vCLIENT::GetServerName«endl;试验三数组与指针
一、试验目的
1、学习使用数组
2、学习字符串数据的组织和处理
3、掌握指针的使用措施
4、练习通过debug观测指针日勺内容及其所指的对象的内容
5、练习通过动态内存分派实现动态数组,并体会指针在其中的作用
二、试验任务、测试矩阵转置函数的程序,程序如下:13X3#include iostreamusingnamespace std;void moveint matrix
[3]
[3]int i,j,k;fori=0;i3;i++forj=0;ji;j++k=matrix[i][j];matrix[i][j]=matrix[j][i];matrix[j][i]=k;}int maininti,j;int data
[3]
[3];fori=0;i3;i++forj=0;j3;j++cout«第”VV i+1«”行第vv j+1VV个元素为”;cin»data[i][j];cout«”输入的I矩阵口勺为H«endl;fori=0;i3;i++forj=0;j3;j++cout«data[i][j]«…;cout«endl;movedata;cout«”转置后的I矩阵的I为vv endl;fori=0;i3;i++forj=0;j3;j++cout«data[i][j]«cout«endl;
2、使用动态内存分派生成动态数组来重新设计一种3X3矩阵转置函数,使用指针实现函数的功能
3、编程实现两字符串的连接规定使用字符数组保留字符串,不要使用系统函数
4、使用String类定义字符串对象,重新实现上一小题选作
5、定义一种Employee类,其中包括姓名、街道地址、都市和等属性,以及change_name和display等函数display显示姓名、街道地址、都市和等属性,change_name变化对象的姓名属性实现并测试这个类提醒对字符数组的赋值可以使用字符串拷贝函数strcpy char*,char*,name选作
6、定义包括个5元素日勺对象数组,每个元素都是Employee类型的对象试验四继承与派生
一、试验目日勺
1、学习定义和使用类的继承关系,定义派生类
2、熟悉不一样继承方式下对基类组员的访问控制
3、学习运用虚基类处理二义性问题
二、试验任务
1、定义一种基类Animal,有私有整型组员变量age,构造其派生类dog,在其组员函数SetAgeint n中直接给age赋值,看看会有什么问题,把age改为公有组员变量,还会有问题吗?编程试试看
2、定义一种基类BaseClass,有整型组员变量Number,构造其派生类DerivedClass,观测构造函数和析构函数日勺执行状况
3、定义一种车vehicle基类,具有MaxSpeed、Weight等组员变量,Run,Stop等组员函数,由此派生出自行车bicycle类、汽车motorcar类,自行车类具有高度Height等属性,汽车类有座位数SeatNum等属性从bicycle和motorcar类派生出摩托车motorcycle类,在继承过程中,注意把vehicle设置为虚基类假如不把设置为虚基类,会有什么问题?编程试试看试验成果
1、error C2248:age:cannot accessprivate memberdeclared inclass AnimaF改正方案将Animal类中私有组员age换成公共组员
2、构造基类对象!构造派生类对象!析构派生类对象!析构基类对象!
3、Now itis running!Now ithas stopped!〃假如vehicle不是虚基类,有错误error C2385:motorcycle::Run isambiguous源程序1#include iostreamusingnamespace std;class Animal{private:int age;public:Animal{};^Animal{};;class Dog:private Animalpublic:Dog{};Dog{};void SetAgeint n{age=n;};int main{Dog a;a.SetAge10;return0;}
2、^include iostreamusingnamespace std;class BaseClasspublic:BaseClass{cout〈〃构造基类对象!〃endl;}^BaseClass{cout〃析构基类对象!〃endl;};class DerivedClass:public BaseClass对人员信息的录入和显示规定包括构造函数和析构函数、拷贝构造函数、内联组员函数、组合、1#include iostreamusingnamespace std;enum CPU_Rank{pl=l,p2,p3,p4,p5,p6,p7};class CPU{private:CPU Rank rank;int freauency;float voltage;public:CPUCPU_Rank r,int f,float v{rank=r;freauency=f;voltage=v;cout«n This is CPU construct programn«endl;}~CPU{cout«H Thisis CPU destroy functionn«endl;}void run{cout«The CPU is runningu«endl;}void stop{cout«The CPU isStoppingH«endl;}public:DerivedClass{cout〃构造派生类对象!〃endl;}^DerivedClass{cout〃析构派生类对象!〃endl;};int main{DerivedClass d;
3、nclude iostreamusingnamespace std;class vehicleprivate:int MaxSpeed;int Weight;public:vehicle{MaxSpeed=O;Weight=0;};-vehicle{};void Run{coutNow itis running!z/endl;}void Stop{cout〃Now ithas stopped!z/endl;class bicycle:virtual publicvehicle private:int Height;public:bicycle{};bicycle{};class motorcar:virtual publicvehicle private:int SeatNum;public:motorcar{};motorcar{};〜class motorcycle:public bicycle,public motorcarpublic:motorcycle{};motorcycle{};〜};int main{motorcycle a;a.Run;a.Stop;;int mainenum CPU Rank rank;rank=p5;CPU cpulrank,1024,
3.6;cpul.runO;cpul.stopQ;return0;运行成果Thisis CPUconstructprogramThe CPU is runningTheCPUisStoppingThis is CPUdestroyfunction、2#include iostreamusingnamespace std;enum CPU_Rank{pl=l,p2,p3,p4,p5,p6,p7};class CPU{private:int freauency;float voltage;public:CPUCPU_Rankr=pl,int f=0,float v=0{rank=r;freauency=f;voltage=v;cout«n ThisisCPUconstruct programH«endl;}~CPU{cout«n ThisisCPUdestroy functionM«endl;}void run{cout«H TheCPUisrunningu«endl;}void stop{cout«n TheCPUisStoppingH«endl;};class RAM{private:int rank;int size;public:RAM intr=0,int s=0{rank=r;size=s;}void run{cout«H TheRAM is runningM«endl;}void stop{cout«H TheRAM isStoppingvvendl;};class CDROM{private:int rank;int size;public:CDROM intr=0,int s=0{rank=r;size=s;}void run{cout«H TheCDROM isrunningM«endl;}void stop{cout«H TheCDROM isStoppingn«endl;};class Computerprivate:RAM ram;CDROM cdrom;public:ComputerCPU c,RAM r,CDROM cd{cout«H Thisis theComputer Constructn«endl;cpu=c;ram=r;cdrom=cd;}void run{cout«H Thisis ComputerisrunningM«endl;cpu.run;ram.run;}void stop{cout«H Thisis Computeris stopH«endl;cpu.stopO;ram.stopO;};int main{enumCPU_Rankrank;rank=p5;;CPU cpulrank,1024,
3.6fRAM ram5J024;CDROM cdrom5,1024;Computer cpcpul,ram,cdrom;cp.run;cp.stopO;return0;试验二程序构造C++、试验目的1观测程序运行中欧变量肚作用域、生存期和可见性
1.I I学习类的静态组员的使用
2.I学习多文献构造在程序中的使用
3.C++、试验任务2运行下面程序,观测变量、时值
1.
2.x y//lab2_l.cppinclude io$tream,h匕void fnl;int x=
1.y—2:int maincout«Begin...w«endl;cout«x=«endl;«Kcout Wy=«y VOndhcout2L Evaluatexandyinmain Cendl;int x=
10.y=20;〉・・・”cout«x=«x«endl,cout«y=«y Wendi;cout WStepintofnl...«endhfnl;cout«/xBack inmain«endh cout Wx=Wx«endl;cout Wy=«y VOndlreturn0;void fnlint v=200;com Wy=«y Wendi;coutWx=Wx Wendi;实现客户机类定义字符型静态数据组员保留其服务器名.称
3.CLIENT ServerName,
4.
5.6整型静态数据组员记录已定义日勺客户数量;定义静态函ClientNum,
7.数变化服务器名,称在头文献中定义类,在ChangeServerName
8.9client.h
10.文献client,cpp中实现,
11.在文献test,cpp中测试这个类,
12.观测对应的J组员变量取值日勺变化状况试验二程序构造C++、试验目的1观测程序运行中的变量的作用域、生存期和可见性
1.学习类的静态组员的使用
2.I1学习多文献构造在程序中的使用
3.C++、试验任务2运行下面程序,,观测变量、时值
1.2x y实现客户机类定义字符型静态数据组员.保留其服务器名称整型
3.CLIENT ServerName,4静态数据组员记录已定义的客户数量;定义静态函数变化ClientNum,ChangeServerName服务器名称在头文献中定义类,在文献中实现,在文献中测试client.h client.cpp test.cpp这个类,观测对应的组员变量取值的变化状况
三、试验成果
1.服务器名称为
2.N客户机数量为2服务器名称为A试验源代码l.#include iostreamusingnamespace std;void fnl;int x=1,y=2;void main。
个人认证
优秀文档
获得点赞 0