面向对象程序设计实验指导书(3)

2019-03-11 14:25

面向对象程序设计实验指导书

单步执行时每次执行一行语句,便于跟踪程序的执行流程。因此为了调试方便,需要单步执行的语句不要与其它语句写在一行中。

(5)在Watch窗口中,在Name栏中输入iType,按回车键,可看到Value栏中出现3,这是变量iType现在的值(如果没看到Variables窗口或Watch窗口,可通过View菜单的Debug Windows | Variables或Debug Windows | Watch选项打开它们)。图2—3是此时Variables窗口和Watch窗口的状态。

(6)继续执行程序,参照上述的方法,再试试Debug菜单栏中别的菜单项,熟悉(调试)状态,程序开始运行,一个DOS窗口出现,此时,Visual Studio的外观如图2—2所示,程序暂停在断点处。 (4)单步执行:从Debug菜单或Debug工具栏中单击Step Over选项或按钮两次。在程序运行的DOS窗口中输入选择的图形类型,例如,输入3,代表正方形,这时,N到Visual Studio中,把鼠标放在变量名iType上片刻,可看到出现了一个提示:iType—3;此时,在Variables窗口中也可看到iType以及其他变量的值。Debug的各种方法。

6.建立一个项目lab2—4,包含一个C++源程序lab2_4.cpp。定义一个表示时间的结构体,有表示年、月、日、小时、分、秒的成员,可以使用short类型;在主程序中实现输入输出。

图2—3

9

面向对象程序设计实验指导书

实验三 函数的应用

(2学时)

一、实验目的

1.掌握函数的定义和调用方法。 2.练习重载函数的使用。 3.练习函数模板的使用。 4.练习使用系统函数。

5.学习使用VC++的debug调试功能,使用step into追踪到函数内部。

二、实验任务

1.编写一个函数把华氏温度转换为摄氏温度,转换公式为..C=(F-32)*5/9。

2.编写重载函数Maxl可分别求取两个整数,三个整数,两个双精度数,三个双精度 数的最大值。

3.使用重载函数模板重新实现上小题中的函数Maxl。

4.使用系统函数pow(X,y)计算幂的值,注意包含头文件math.h。 5.用递归的方法编写函数求Fibonacci级数,观察递归调用的过程。

三、实验步骤

1.编写函数float Convert(float TempFer),参数和返回值都为float类型,实现算法C=(F-32)*5/9,在main()函数中实现输入、输出。程序名:lab3_1.cpp。

2.分别编写四个同名函数maxl,实现函数重载,在main()函数中测试函数功能。程序名:lab3_2.cpp。

3.使用函数模板实现求任意类型数的最大值,针对不同的参数个数,编写两个同名函数模板maxl,其参数个数不同,实现函数重载,在main()函数中测试函数功能。程序名:lab3_3.cpp。

4.在main()函数中提示输入两个整数x、y,使用cin语句得到x、y的值,调用pow(x,y)函数计算x的y次幂的结果,再显示出来。程序名.1ab3_4.cpp。

5.编写递归函数int fib(int n),在主程序中输入n的值,调用fib函数计算Fibonacci级数。公式为fib(n)=fib(n-1)+fib(n-2),n>2;fib(1)=fib(2)=1。使用if语句判断函数的出口,在程序中用cout语句输出提示信息。程序名:lab3_5.cpp。

6.使用debug中的Step Into追踪到函数内部,观察函数的调用过程,参考程序 如下:

//lab3_5

#include int fib(int n);

10

面向对象程序设计实验指导书

int main() {

int n,answer;

cout<<”Enter number”; cin>>n;

cout<<”\nkn”; answer=fib(n);

cout<

int fib(int,n) {

cout<<”vProcessing fib(”<

cout<<”Return 1!\n”; return(1); } else

{

cout<<”ca11 fib(“<

7.调试操作步骤如下:

(1)选择菜单命令Build | Start Debug | Step in,或按下快捷键Fll,系统进入单步执行状态,程序开始运行,并出现一个DOS窗口,此时Visual Studio中光标停在main()函数的入口处。 (2)把光标移到语句answer=fib(n)前,从Debug菜单或Debug工具栏中单击Run to Cursor,在程序运行的DOS窗口中按提示输入数字10,这时回到Visual Studio中,光标停在第11行,观察一下n的值(观察方法见实验2)。

(3)从Debug菜单或Debug工具栏中单击Step Into,程序进入fib函数,观察一下n的值栏中单击Step Into,程序进入fib函数,观察一下n的值,把光标移到语句return(fib(n-2)+fib(n-1))前,从Debug菜单或Debug工具栏中单击Run to Cursor,再单击Step Into,程序递归调用fib函数,又进入fib函数,观察一下n的值。

(4)继续执行程序,参照上述的方法,观察程序的执行顺序,加深对函数调用和递归调用的理解。

(5)再试试Debug菜单栏中别的菜单项,熟悉Debug的各种方法。

11

面向对象程序设计实验指导书

实验四 类与对象

(4学时)

一、实验目的

1.掌握类的定义和使用。

2.掌握类的定义和对象的声明。

3.复习具有不同访问属性的成员的访问方式。 4.观察构造函数和析构函数的执行过程。 5.学习类的聚集使用方法。

6.使用VC++的debug调试功能观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。

二、实验任务

1.定义一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop。其中,rank为枚举类型CPU—Rank,定义为enum CPU—Rank {Pl=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_Rank{P1:1,P2,P3,P4,P5,P6,P7},再定义CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等私有数据成员,定义成员函数run、stop,用来输出提示信息,在构造函数和析构函数中也可以输出提示信息。在主程序中定义一个CPU的对象,调用其成员函数,观察类对象的构造与析构顺序,以及成员函数的调用。程序名:lab4_1.cpp。

2.使用debug调试功能观察程序lab4_1.cpp的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。参考程序如下: //lab4_1.cpp

#include

enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7};

12

面向对象程序设计实验指导书

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:

tout<<”构造了一个CPU!”<

~CPU(){cout<<”析构了一个CPU!”<

void Run(){cout<<”CPU开始运行!”<

CPU a(P6,300,2.8); a.Run(); a.Stop(); }

3.调试操作步骤如下:

(1)单击Build l Start Debug | Step Into命令,或按下快捷键Fll,系统进入单步执行状态,程序开始运行,一个DOS窗口出现,此时Visual Studio中光标停在main()函数的入口处; (2)从Debug菜单或Debug工具栏中单击Stupe Over.此时,光标下移,程序准备执行CPU对象的初始化;

(3)单击Step Into,程序准备执行CPU类的构造函数;

(4)连续单击Step Over,观察构造函数的执行情况.直到执行完构造函数,程序回到主函数;

(5)此时程序准备执行CPU对象的run()函数.单击Step Into,程序进入run()成员函数,连续单击Step Over,直到回到main()函数;

(6)继续执行程序,参照上述的方法.观察程序执行顺序.加深对类的构造函数、析构函数、成员函数的执行顺序的认识;

(7)再试试Debug菜单栏中别的菜单项,熟悉Dehug的各种方法。

4.首先定义CPU类(可使用第2题。可使用2题中的CPU类)、RAM类、CDROM类。再定义Computer类:定义私有数据成员cpu、ranl、cdrom.定义公订成员函数run、stop,

13


面向对象程序设计实验指导书(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:推行建设行政执法责任制工作情况汇报

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: