教育资源为主的文档平台

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

构造函数与析构函数

上传者:网友
|
翻新时间: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程序的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序,特别注意观察成员变量的构造与析构顺序。

下载文档

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

网友最新关注

我也当上姐姐了
杨氏之子(扩写)
我最喜欢的一则格言
仿一枝花.不伏老
仿关汉卿《一枝花。不伏老》
蛋蛋争冠赛
我的书
安全月我也来谈安全
故乡情
100分变99.5分
外星人访问地球
书迷
偷读记
把我的幸福告诉你
第一次劳动实践
2005-2006学年度第二学期通用技术教研计划
常州市武进区礼嘉中学高一语文组05—06学年度第二学期计划
厦门英才学校2004—2005学年度初二年段第一学期工作计划
面向21世纪教育振兴行动计划
温州育英国际实验学校初中数学教研组工作计划
外国语实验学校初二年级工作计划
外国语实验学校初三年级工作计划
高三年级班主任教研组2006年春季学期工作计划
2005年礼嘉中学"青蓝工程"建设计划
高三语文2005-2006学年第二学期备课组工作计划
2004-2005学年第二学期高二年级工作计划
高二数学备课组工作计划(2005—2006学年第一学期)
中共宜都市二中委员会2004—2005学年度工作计划
外国语实验学校初一年级工作计划
2004年——2005年第二学期德育处工作计划
化学教学与信息技术整合的探索
翻译标准在争论中的发展
论财政监督
隐喻与翻译Metaphor and Translation
化学教学与德育
不容忽视的教学环
勒夏特列原理中“弹簧现象”的探究教学
化学学习评定及其策略
从关联理论的角度看翻译中的语境问题
英汉习语的文化差异及其翻译
化学教学中全面培养学生能力若干问题的探析
简析新公司法的一人公司制度(1)
英汉词典中新词的译名
创设学习情景 促进科学探究
论口译的跨文化语用的失误
《詹天佑》课堂教学实录片断
《三个儿子》教案
《花钟》教案
《大瀑布的葬礼》教学设计
《十六年前的回忆》教案
《路旁的橡树》教案
《穷人》教案
《燕子》教案
《珍珠鸟》教案
《草船借箭》教学设计
《有的人》教案
《将相和》(六年制第十册)
《燕子》教案
《草原》教学设计
《草船借箭》的人物语言