面向对象程序设计实验指导书讲解.docx
《面向对象程序设计实验指导书讲解.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计实验指导书讲解.docx(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象程序设计实验指导书讲解 面向对象程序设计实验指导书 实验一、C+开发环境应用入门(2学时)(选做) 1、实验目的 (1)了解C+开发工具的特点 (2)熟悉C+开发环境 (3)学习用C+编写标准的C+程序 2、实验任务 使用C+来建立一个非图形化的标准C+程序,编译、运行下例程序: #include void main(void) coutiType; switch(iType) case 1: cout radius; area=PI*radius*radius; couta; coutb; area=a*b; couta; area=a*a; cout2;fib(1)=fib(2)=
2、1。使用if语句判断函数的出口,在程序中用cout语句输出提示信息。程序名:lab3_5.cpp。 6)使用debug中的Step Info追踪到函数的内部,观察函数的调用过程,参考程序如下: /lab3_5 #include int fib(int n); int main() int n,answer; coutn; cout ”nn”; answer=fib(n); cout return 0; int fib(int n) if(n3) return 1; else return fib(n-2)+fib(n-1); 7)调试操作步骤如下: i.选择菜单命令Build|Start De
3、bug |Step In,系统进入单步执行状态,程序开始运行,并出现一个DOS 窗口,此时光标停在main()函数的入口处。 ii.把光标移到语句answer=fib(n)前,从Debug菜单单击Run To Cursor,在程序运行的DOS窗口中按提示输入数字10,这时回到可视界面中,光标停在第11行,观察一下n的值。 iii.从Debug菜单中单击Step Into,程序进入fib函数,观察一下n的值,把光标移到语句return(fib(n-2)+fib(n-1)前,从Debug菜单单击Run to Cursor,再单击Step Into,程序递归调用fib 函数,又进入fib函数,观察n
4、的值。 iv.继续执行程序,参照上述的方法,观察程序的执行顺序,加深对函数调用和递归调用的理解。v.再试试Debug菜单栏中的别的菜单项,熟悉Debug的各种方法。 实验四、类与对象(2学时) 1、实验目的: (1)掌握类的定义和使用 (2)掌握类的定义和对象的声明 (3)复习具有不同访问属性的成员的访问方式。 (4)察构造函数和析构函数的执行过程。 (5)学习类的聚集使用方法。 (6)使用DEBUG来调试程序,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。 2、实验任务 1)定义一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员
5、函数run、stop。其中rank为枚举类型CPU_Rank,定义为enum CPU_Rank=P1=1,P2,P3,P4,P5,P6,P7,frequency 为单位为MHz的整型数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。 2)定义一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等等,cpu为CPU 类的一个对象,ram为RAM类的一个对象,cdrom为CDROM类的一个对象,定义并实现这个类。 3)(选做)设计一个用于人事管理的People(人员)类。考虑到通用性,这里只抽象出所有类型人员都具有的属性:number(编号
6、)、sex(性别)、birthday(出生日期)、id(身份证号)等等。其中“出生日期”定义为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数。 3、实验步骤 (1)首先定义枚举类型CPU_Rank,例如enum CPU_Rank P1=1,P2,P3,P4,P5,P6,P7,再定义CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等私有数据成员,定义成员函数run、stop,用来输出提示信息,在构造函数和析构函数中也可以输出提示信息。在主程序中定义一个CPU类的对象,调用其成员函数,观察类
7、对象的构造与析构顺序,以及成员函数的调用。程序名:lab4_1.cpp。 (2)使用debug调试功能观察lab4_1.cpp的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。参考程序如下: /lab4_1.cpp #include enum CPU_Rank(P1=1,P2,P3,P4,P5,P6,P7); class CPU private: CPU_Rank rank; Int frequency; Float voltage; Public: CPU(CPU_Rank r,int f,float v) rank=r; frequency=f; voltage=v; cou
8、t”构造了一个CPU!”end l; CPU()cout”析构了一个CPU!”endl; CPU_Rank GetRank() constreturn rank; Int GetFrequency() const return frequency; Float GetV oltage() const return voltage; V oid SetRank(CPU_Rank r)rank=r; V oid SetFrequency(int f)frequency=f; Void SetV oltage(float v)voltage=v; V oid Run()cout”CPU开始运行!”e
9、ndl; V oid Stop()coutCPU停止运行!”endl; ; void main() CPU a(P6,300,2.8); i.Run(); a.Stop(); (3)调试操作步骤如下: Build|Start Debug|Step Into 命令,系统进行单步执行状态,程序开始运行,一个DOS窗口出现,此时光标停在main()函数的入口处; A)从Debug菜单栏中单击Step Over,此时,光标下移,程序准备执行CPU对象的初始化; B)单击Step Into,程序准备执行CPU类的构造函数; C)连续单击Step Over,观察构造函数的执行情况,直到执行完构造函数,程序
10、回到主函数; D)此时程序准备执行CPU对象的run()函数,单击Step Into,程序进入run()成员函数,连续单击Step Over, 直到回到main()函数; E)继续执行程序,参照上述的方法,观察程序的执行顺序,加深对类的构造函数、析构函数、成员函数的 执行顺序的认识; F)再试Debug菜单栏中的别的菜单项,熟悉Debug的各种方法。 G)选定义CPU类、RAM类、CDROM类。再定义Computer类:定义私有数据成员cpu、ram、cdrom,定 义公有成员函数run、stop,可在其中输出提标信息居主程序中定义一个Computer的对象,调用其成员函数,观察类对象及其成员
11、变量的构造与析构顺序,以及成员函数的调用。程序名:lab4_2.cpp。 (5)使用debug调试功能观察lab4_2.cpp程序的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序,特别注意观察成员变量的构造与析构顺序。 实验五C+程序的结构(2学时) 一、实验目的 1观察程序运行中变量的作用域、生存期和可见性。 2学习类的静态成员的使用。 3学习多文件结构在C+程序中的使用。 二、实验任务 1运行下面的程序,观察变量x、y的值。 /lab5_1.cpp #include void fnl(); int x=1,y=2; int main() countBegin.endl; co
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 实验 指导书 讲解
限制150内