实验报告C++(类与对象)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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++学习有重要的帮助。