实验一、类与对象

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一类与对象

一、实验目的

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

2.掌握类的对象的声明。

3.复习具有不同访问属性的成员的访问方式。

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

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

二、实验课时

4学时

三、实验任务

1.定义一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run(提示信息“CPU开始运行”)、stop(提示信息“CPU停止运行”)。其中,为枚举类型CPU_Rank,定义为enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7},frequency为单位是MHz的整型数,voltage 为浮点型的电压值。在main函数中定义该类的一个对象,并调用其公有成员函数,观察构造函数和析构函数的调用顺序。试试能不能在主函数中打印该对象的属性值,并分析原因。

2.在上述CPU类中添加成员函数,分别用于设置及获取各属性的值,并在main函数中调用这些函数。观察当这些函数被设置成private或public时会有什么不同。

3.定义一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等,有两个公有成员函数run、stop。cpu为CPU类的一个对象,ram 为RAM类的一个对象,cdrom为CDROM类的一个对象。CPU类的定义为实验任务1,RAM、CDROM类可以自由设置一些属性,并提供类似的run、stop这两个成员函数。在main函数中测试这个类,分析成员函数的运行顺序。

4.定义一个Point类,属性为坐标X、Y的值,包含有如下成员函数:构造函数、析构函数、设置与获取X和Y的值的函数,并测试程序的输出结果。

#include

#include

using namespace std;

/*

1.定义一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run(提示信息“CPU开始运行”)、stop(提示信息“CPU停止运行”)。其中,为枚举类型CPU_Rank,定义为enum

CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7},frequency为单位是MHz的整型数,voltage 为浮点型的电压值。在main函数中定义该类的一个对象,并调用其公有成员函数,观察构造函数和析构函数的调用顺序。试试能不能在主函数中打印该对象的属性值,并分析原因。

2.在上述CPU类中添加成员函数,分别用于设置及获取各属性的值,并在main 函数中调用这些函数。观察当这些函数被设置成private或public时会有什么不同。

3.定义一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等,有两个公有成员函数run、stop。cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom为CDROM类的一个对象。CPU类的定义为实验任务1,RAM、CDROM类可以自由设置一些属性,并提供类似的run、stop这两个成员函数。在main函数中测试这个类,分析成员函数的运行顺序。

4.定义一个Point类,属性为坐标X、Y的值,包含有如下成员函数:构造函数、析构函数、设置与获取X和Y的值的函数,并测试程序的输出结果。

*/

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

class CPU

{

public:

CPU();

~CPU();

void set_CPU(CPU_Rank r, int freq, float v);

void get_CPU();

void run();

void stop();

private:

CPU_Rank rank;

int frequency;

float voltage;

};

void CPU::run()

{

cout <<"CPU run"<< endl;

}

void CPU::stop()

{

cout <<"CPU stop"<< endl;

}

void CPU::set_CPU(CPU_Rank r, int f, float v)

{

rank = r;

frequency = f;

voltage = v;

}

void CPU::get_CPU()

{

cout <<"CPU CPU_Rank = "<< rank << endl;

cout <<"CPU frequency = "<< frequency <<" MHz"<

cout <<"CPU voltage = "<< voltage << endl;

}

CPU::CPU()

{

cout <<"CPU构造函数"<< endl;

}

CPU::~CPU()

{

cout <<"CPU析构函数"<< endl;

}

class RAM

{

public:

RAM();

~RAM();

void run();

void stop();

void set_size(unsigned int s);

void get_size();

private:

unsigned int size;

};

void RAM::run()

相关文档
最新文档