南昌大学面向对象程序设计实验3.doc
文本预览下载声明
南昌大学实验报告
学生姓名: 学 号: 专业班级: 管理科学与工程类121班
实验类型:□ 验证 □ 综合 □ 设计 □ 创新 实验日期: 实验成绩:
实验2 函数的运用
一、实验目的
(l)掌握类的声明和使用。
(2)掌握类的声明和对象的声明c
(3)复习具有不同访问属性的成员的访问方式。
(4)观察构造函数和析构函数的执行过程。
(5)学习类的组合使用方法。
(6)使用Visual C++的Debug调试功能观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。
二、实验任务
(l)声明一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop o其中,rank为枚举类型CPU_Rank,声明为enum CPU_Rank{ Pl=1,P2,P3,P4,P5,P6,pr7};frequency为单位是MHz的整型数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。
(2)声明一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等,有两个公有成员函数run和stop。cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom力CDROM类的一个对象,声明并实现这个类。
(3)(选做)设计一个用于人事管理的People(人员)类:考虑到通用性,这里只抽象出所有类型人员都具有的属性:number(编号)、sex(性别)、birthday(出生日期)id(身份证号)等。其中“出生日期”声明为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、组合:
三、实验步骤
(l)首先声明枚举类型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的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。参考程序如下:
#include iostream
using namespace std;
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;
cout 构造了一个CPU! endl;
}
~CPU () { cout 析构了一个CPU! endl; }
CPU_Rank GetRank() const { return rank; }
int GetFrequency() const { return frequency; }
float GetVoltage() const { return voltage; }
void SetRank(CPU_Rank r) { rank = r; }
void SetFrequency(int f) { frequency = f; }
void SetVoltage(float v) { voltage = v; }
void Run() {cout CPU开始运行! endl; }
void Stop() {cout CPU停止运行! endl; }
};
void main()
{
CPU a(P6,300,2.8);
a.Run();
a.Stop();
}
(3)调试操作步骤如下:
单击Build | Start Debug | Step Into命令,或按下快捷键Fll,系统进入单步执行状态. 程序开始运行一个DOS窗口出现,此时Visual Studio中光标停在main()函数的入口处。
从Debug菜单或Debug工具栏中单击Step Over,此时,光标下
显示全部