教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> 论文> 其他论文> 构造函数与析构函数

构造函数与析构函数

上传者:网友
|
翻新时间:2023-08-06

构造函数与析构函数

实验目的

观察构造函数和析构函数的执行过程。

学习类的聚集使用方法。

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

实验任务定义一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等等,有两个公有成员函数run、stop。cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom为CDROM类的一个对象,定义并实现这个类。(在实验三完成的程序的基础上继续做)

(选做)设计一个用于人事管理的People(人员)类。考虑到通用性,这里只抽象出所有类型人员都具有的属性:number(编号)、sex(性别)、birthday(出生日期)、id(身份证号)等等。其中“出生日期”定义为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数。(在实验三完成的程序的基础上继续做)

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

//lab4_1.cpp

#include <iostream.h>

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();

}

调试操作步骤如下:

单击Build | Start Debug | Step Into命令,或按下快捷键F11,系统进入单步执行状态,程序开始运行,一个DOS窗口出现,此时Visual Studio中光标停在main()函数的入口处;

从Debug菜单或Debug工具栏中单击Step Over,此时,光标下移,程序准备执行CPU对象的初始化;

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

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

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

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

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

首先定义CPU类(可使用第二题中的CPU类)、RAM类、CDROM类。再定义Computer类:定义私有数据成员cpu、ram、cdrom,定义公有成员函数run、stop,可在其中输出提示信息。在主程序中定义一个Computer的对象,调用其成员函数,观察类对象及其成员变量的构造与析构顺序,以及成员函数的调用。程序名:lab4_2.cpp。

使用debug调试功能观察lab4_2.cpp程序的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序,特别注意观察成员变量的构造与析构顺序。

下载文档

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

网友最新关注

美丽的秋雨
阳光
那只鸟儿啊
陌生
蜡烛
七十六级台阶
落叶之美
我的梦想
“火星”风波
“暖”流
爸爸,我想对您说
黑暗
放鞭炮
秋菊
对持续经营审计准则“旧貌换新颜”的解读
关于工程造价审计风险与防范对策的研究
外贸行业部分财务核算和审计问题研讨
国家审计如何促进文化建设
初探地基处理工程审计重点与方法
工程量清单计价结算审计中重点存在的问题及对策研究
试论我国政府绩效审计导向模式的选择
工程建设招投标全过程审计初探
风险导向下的经济责任审计实践思考
国家审计收费更适用于国家拨款制还是企业付费制
浅谈“新网工程”专项资金审计的重点、难点及对策建议
探讨交通行业如何推广内部审计电算化
关于国家审计“免疫系统”双重属性的探讨
村级会计委托代理制度下农村审计变化
论我国审计准则与国际审计准则的趋同
《失物招领》教学设计之一
《美丽的小路》第二课时教学设计之一
《荷叶圆圆》第二课时教学设计之一
《荷叶圆圆》第一课时教学设计之一
《失物招领》教学设计之二
《荷叶圆圆》教学设计之三
《荷叶圆圆》第二课时教学设计之二
《荷叶圆圆》第一课时教学设计之七
《荷叶圆圆》教学设计之一
《美丽的小路》第二课时教学设计之二
《美丽的小路》教学设计之一
《美丽的小路》教学设计之二
入情入境多元体验──《荷叶圆圆》教学设计
《荷叶圆圆》教学设计之二
《荷叶圆圆》第二课时教学设计之三