实验报告C++(类与对象)

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

一、实验题目:类与对象

二、实验目的:练习类的定义和对象的声明;观察构造函数和析构函数的执行过

程;观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。

三、实验环境:操作系统:Windows XP、2003等。

开发环境:VC++ 6.0、Visual Studio 2005等。

四、实验内容、完成情况及完成情况:

定义一个简单的Personel类,有数据成员:生日、ID、工资等,有两个公有成员函数register、stop。Birthday为Birthday类的一个对象,id为ID类的一个对象,salary为Salary 类的一个对象,定义并实现这个类。

源程序如下:#include<iostream>

using namespace std;

enum Birthday_Rank {P1=1,P2,P3,P4,};

class Birthday

{

private:

Birthday_Rank rank;

int year;

int month;

int day;

public:

Birthday(Birthday_Rank r,int y,int m,int d)

{

rank=r,

year=y,

month=m,

day=d;

cout<<"构造了一个”生日“!"<<endl;

}

Birthday()

{

cout<<"构造了一个Birthday!"<<endl;

};

~Birthday()

{

cout<<"析构了一个Birthday!"<<endl;

}

Birthday_Rank GetRank()const {return rank;}

int GetYear()const {return year;}

int GetMonth()const {return month;}

int GetDay()const {return day;}

void SetRank(Birthday_Rank r) {rank=r;}

void SetYear(int y) {year=y;}

void SetMonth(int m) {month=m;}

void SetDay(int d) {day=d;}

void Register(){cout<<"开始登记生日!"<<endl;} void Stop(){cout<<"停止登记!"<<endl;}

};

class ID

{

public:

ID()

{

cout<<"登记好人员的ID" <<endl;

}

~ID()

{

cout<<"析构了一个ID!"<<endl;

}

void Register(){cout<<"ID开始登记!"<<endl;} void Stop(){cout<<"ID停止登记!"<<endl;} };

class Salary

{

public:

Salary()

{ cout<<"构造了一个Salary!"<<endl;}

~Salary()

{

cout<<"析构了一个Salary!"<<endl;

}

void Register(){cout<<"工资登记!"<<endl;}

void Stop(){cout<<"Salary停止记录!"<<endl;}

};

class Personnel

{

private:

Birthday birthday;

ID id;

Salary salary;

public:

Personnel()

{

cout<<"建立一个人员的信息!"<<endl;

}

~Personnel()

{

cout<<"析构了一个Personnel!"<<endl;

}

void Register()

{

cout<<"人员信息开始登记!"<<endl;

birthday.Register();

id.Register();

}

void Stop()

{

id.Stop();

birthday.Stop();

cout<<"停止人员登记!"<<endl;

}

};

int main()

{

Personnel a;

a.Register();

a.Stop();

return (0);

}

五、实验中出现问题及对问题的解决方案

出现问题:

1、没有定义枚举变量。

解决方案:最终定义:enum Birthday_Rank {P1=1,P2,P3,P4,};

2、在写rank=r,year=y,month=m,day=d;时中间的逗号都写成了分号。

解决方案:最后想起了此时必须用逗号。

六、实验总结

通过本次实验,我对类的应用以及各种文件间的关系有了进一步了解,对枚举也有了初步认识,类是C++中的基本但很重要的知识点,学好这点会对以后的C++学习有重要的帮助。

相关文档
最新文档