C++实验4
- 格式:doc
- 大小:23.50 KB
- 文档页数:5
实验4
类与对象
一、实验目的:
1、掌握类的定义和使用。
2、掌握类的定义和对象的声明。
3、复习具有不同访问属性的成员的访问方式。
4、观察构造函数和析构函数的执行过程。
5、学习类的聚集的使用方法。
6、使用Visual C++6.0中的调试功能观察程序流程,跟踪观察类的构造函数、
析构函数、成员函数的执行顺序。
二、实验原理:
1、定义一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)
等属性,有两个共有的成员函数run、stop。
其中,rank为枚举类型
CPU_Rank,定义为enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7}, frequency
为单位是MHz的整型数,voltage为浮点型的电压值。
观察构造函数和析
构函数的调用顺序。
2、定义一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光
驱(cdrom)等等, 有两个共有的成员函数run、stop。
Cpu为CPU类的一个
对象,ram为RAM类的一个对象, cdrom为CDROM类的一个对象,定义并
实现这个类.
3、(选做)设计一个用于人事管理的类People(人员).考虑到通用性,这里只抽
象出所有类型人员都具有的属性:number(编号) 、sex(性别) 、birthday(出
生日期) 、id(身份证号)等等。
其中“出生日期”定义为一个“日期”类
的内嵌子对象。
用成员函数实现对人员信息的录入和显示。
要求包括:
构造函数和析构函数、拷贝构造函数、内联成员函数、聚集。
三、本次实验难点:
聚集类对象的构造和析构顺序。
一、#include<iostream>
using namespace std;
enum CPU_Rank{P1=1,p2,p3,p4,p5,p6,p7};
class CPU
{
public:
CPU(int newrank,int newfre,float newvol);//构造函数
void run();
void stop();
~CPU(){cout<<"成功调用析构函数"<<endl;} //析构函数private:
CPU_Rank rank;
int fre;
float vol;
};
void CPU::run() //实现类
{cout<<"程序开始执行"<<endl;}
void CPU::stop()
{cout<<"程序结束"<<endl;}
CPU::CPU(int newrank,int newfre,float newvol) //实现构造函数
{rank=(CPU_Rank)newrank;
fre=newfre;
vol=newvol;
cout<<"成功调用构造函数"<<endl;
cout<<"等级:"<<enum(P1)<<endl;
cout<<"频率:"<<fre<<endl;
cout<<"电压:"<<vol<<endl;
}
int main()
{
CPU mycpu(2,60,220);
mycpu.run();
mycpu.stop();
return 0;
}
二、#include<iostream>
using namespace std;
enum CPU_Rank {P1=1,P2,P3,P4,P5,P6,P7}; class CPU
{
private:
CPU_Rank rank;int fre;float vol;
public:
CPU(CPU_Rank r,int f,float v)
{rank=r,fre=f,vol=v;
cout<<"构造了一个CPU!"<<endl;}
~CPU(){cout<<"析构了一个CPU!"<<endl;} };
class RAM
{
private:int x;
public:RAM(int a)
{x=a;cout<<"构造了一个RAM!"<<endl;}
~RAM(){cout<<"析构了一个RAM!"<<endl;}
};
class CDROM
{
private:char y;
public:CDROM(char v)
{y=v;cout<<"构造了一个CDROM!"<<endl;}
~CDROM(){cout<<"析构了一个CDROM!"<<endl;}
};
class Computer
{
private:CPU a;RAM b;CDROM c;
public:Computer(CPU_Rank x,int y,float z,int xx,char yy):a(x,y,z),b(xx),c(yy)
{cout<<"构造了一个Computer!"<<endl;}
~Computer(){cout<<"析构了一个Computer!"<<endl;}
void Run(){cout<<"Computer开始运行!"<<endl;}
void Stop(){cout<<"Computer停止运行!"<<endl;} };
void main()
{
Computer niu(P6,3,2.9,4,'G');
niu.Run();
niu.Stop();
}。