类的定义与使用

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

一、实验目的和任务

类的定义与使用

1)掌握类的概念、定义格式、类与结构的关系、类的成员属性和类的封装性;

2)掌握类对象的定义;

3)理解类的成员的访问控制的含义,公有、私有和保护成员的区别;

4)掌握构造函数和析构函数的含义与作用、定义方式和实现,能够根据要求正确定义和重载构造函数。能够根据给定的要求定义类并实现类的成员函数;

二、实验原理介绍

验证性实验;

通过建立类及对象,用类的成员函数和对象访问类的成员;

利用建立类的构造函数,完成类的成员的初始化工作;

三、实验设备介绍

软件需求: Visual C++ 6.0

四、实验内容

1、声明一个CPU类,包含等级(rank)、频率(freauency)、电压(voltage)等属性,有两个公有成员函数run、stop。其中rank为枚举类型,声明为enum CPU_Rank { p1=1,p2,p3,p4,p5,p6,p7},frequency为单位是MHz的整形数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。

实验原理:构造CPU类私有成员为等级(rank)、频率(freauency)、电压(voltage),其中rank为枚举类型,声明为enum CPU_Rank { p1=1,p2,p3,p4,p5,p6,p7},然后设置public 的构造函数CPU,有频率和电压。使频率f等于形参x,电压u等于y,此为构造的函数。然后运用析构函数,其符号为~,运用析构函数。一个类只能定义一个析构函数,析构函数

没有形参,且其顺序较特殊,对于含有多个对象的程序,先创建的对象后析构,后创建的对象先析构。所以析构函数出现在最后。此程序中,三个对象CPU run stop ,CPU析构,在主函数中运行了构造函数,run stop执行后析构。

实验源程序:

#include

class CPU

{private:

int f;

double u;

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

public:

CPU(int x,double y)

{

f=x;

u=y;

cout<<"调用构造函数"<<"f="<

}

~CPU()

{cout<<"调用析构函数"<<"f="<

void run();

void stop();

};

void CPU::run()

{

cout<<"开始执行程序"<

cout<<"等级:"<

cout<<"频率:"<

cout<<"电压:"<

}

void CPU::stop()

{ cout<<"程序结束"<

int main()

{ CPU cpu(20000,220);

cpu.run();

cpu.stop();

return 0;

}

程序运行结果:

2、声明一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等

等,有两个公在成员函数run、stop。cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom为CDROM类的一个对象,声明并实现这个类。

实验原理:本程序段中定义4个类。Computer中引用其他CPU RAM CDRAM 三个类中的对象,引用的格式如下:在Computer私有成员中设置引用其他类的对象。如CPU& cpu;RAM& ram;CDROM& cdrom;构造类的构造函数和析构函数,每个类中都有run 和stop 两个对象。

实验源程序:

#include

class CPU

{private:

int frequency;

float voltage;

public:

CPU(int f,float v)

{

frequency=f;

voltage=v;

cout<<"调用CPU类结构函数:"<<"f="<

}

~CPU()

{cout<<"调用CPU类析构函数:"<<"f="<

void run()

{cout<<"CPU开始运行"<

void stop()

{cout<<"CPU结束运行"<

};

class RAM

{private:

int size;

public:

RAM(int s=0)

{

size=s;

cout<<"调用RAM类结构函数:"<<"size="<

}

~RAM()

{cout<<"调用RAM类析构函数:"<<"size="<

void run()

{cout<<"RAM开始运行"<

void stop()

{cout<<"RAM结束运行"<

};

class CDROM

相关文档
最新文档