ram.stop(); } };
enum CPU_Rank {p1=1,p2,p3,p4,p5,p6,p7}; class CPU { private:
CPU_Rank rank; int freauency; float voltage; public:
CPU(CPU_Rank r, int f,float v) { rank=r; freauency=f; voltage=v;
cout<<” this is CPU construct program”< cout<<”this is CPU destroy function”< void run(){cout<< the CPU is running”< void main() { enum CPU_Rank rank; rank=p5; CPU cpu1(rank, 1024, 3.6); RAM ram(5,1024); CDROM cdrom(5,1024); Computer cp(cpu1,ram,cdrom); cp.run(); cp.stop(); } 四、 思考题 1、 注意类的定义; 2、 类的成员函数的访问方式; 实验五 C++程序的结构 一、 实验目的 1、观察程序运行中变量的作用域、生存期和可见性。 2、学习类的静态成员的使用。 3、学习多文件结构在C++程序中的使用。 二、 主要仪器及耗材 PC电脑,VC6.0软件 三、 实验内容和步骤 1、实验内容: 1、运行下面的程序,观察变量x、y的值。 #include {cout<<”Begin…”< cout<<”x=”< cout<<”x=”< cout<<”Back in main”< cout<<”x=”< void fn1() { int y=200; cout<<”x=”< 2、实现客户机(CLient)类,声明字符型静态数据成员ServerName,保存其服务器名称;整形静态数据成员ClientNum,记录已定义的客户数量;定义静态函数ChangeServerName()改变服务器名称。在头文件Client.h中声明类,在文件中Client.cpp实现,在文件test.cpp中测试这个类,观察在相应的成员变量取值的变化情况。 2、实验步骤: 1、源程序结果为: Begin… X=1 Y=2 Evaluate x and y in main() X=10 Y=20 Step into fn1().. X=1 Y=200 Back in main X=10 Y=20 2、源程序结果为: //头文件Client.h #include { static char ServerName[80]; static int ClientNum; static void ChangeServerName( char *a); int GetClientNum(return ClientNum); Client(char *a) { ServerName=a; ClientNum++; } }; //在文件中Client.cpp #include “Client.h” char Client ::ServerName[80]=”MyClient”; int Client:: ClientNum=0; void Client::ChangeServerName( char *a) {ServerName=a } //在文件test.cpp中 #include “Client.h” void main() {Client c1(thisClient); Char ch[]=”theseClient”; C1.ChangeServerName(ch); Cout< 四、 思考题 1、 注意类的定义,类的实现,类的访问方式在不同的文件中怎样实现; 2、 C++语言上的三种控制程序结构; 实验六 继承与派生 一、 实验目的 1、学习声明和使用类的继承关系,声明派生类。 2、熟悉不同继承方式下对基类成员的访问控制。 3、学习利用虚基类解决二义性问题。 二、 主要仪器及耗材 PC电脑,VC6.0软件 三、 实验内容和步骤 1、实验内容: 1、声明一个基类Animal,有私有整形成员变量age,构造其派生类dog,在其成员函数SetAge(int n)中直接给age赋值,看看会有什么问题,把age改为公有成员变量,还会有问题吗?编程试试。 2、声明一个基类BaseClass,有整形成员变量Number,构造其派生类DerivedClass,观察构造函数和析构函数的执行情况。 3、声明一个车(vehicle)基类,具有MaxSpeed、Weight等成员变量,Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类。自行车(bicycle)类有高度(Height)等属性,汽车(motorcar)类有座位数(seatNum)等属性。从bicycle和motorcar派生出摩托车(motorcycle)类,在继承过程中,注意把设置vehicle为虚基类,如果不把vehicle设置为虚基类,会有什么问题?编程方式。 2、实验步骤: 1、源程序结果为: class Animal { Privte: int age; }; class dog :public Animal { public : void SetAge(int n) {age=n;} }; void main() {dog dg; dg.SetAge(5); } 结果有问题:C:\\Documents and Settings\\traffic02\\my.cpp(12) : error C2248: 'age' : cannot access private member declared in class 'Animal' C:\\Documents and Settings\\traffic02\\my.cpp(5) : see declaration of 'age' 把age改为公有成员变量后:Linking... my.exe - 0 error(s), 0 warning(s) 2、源程序为: #include private: int Number; public: BaseClass(int N) { cout<<”this is BaseClass construct function”< ~BaseClass() { Cout<< “this is BaseClass destroy function”< class DerivedClass :public BaseClass { public: DerivedClass(int N):BaseClass(N) {cout<<”this is DerivedClass construct function”< ~DerivedClass() { cout<<”this is DerivedClass destroy function”< void main() { DerivedClass DClass(5); } 3、源程序为: #include protected: int MaxSpeed; 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库面向对象程序设计实验指导书(4)在线全文阅读。
相关推荐: