实验目的和要求
- 掌握类、类的数据成员、类的成员函数的定义方式。
- 理解类成员的访问控制方式。
- 掌握对象的定义和操作对象的方法。
- 理解构造函数和析构函数的定义与执行过程。
- 掌握重载构造函数的方法。
- 了解拷贝构造函数的方法。
- 掌握静态数据成员、常数据成员和静态成员函数、常成员函数的基本使用方法。
- 理解友元和友元函数的作用,掌握其使用方法。
实验内容
- 定义一个时间类,类中有3个私有数据成员(Hour,Minute,Second)和两个公有成员函数(SetTime和Print_Time)。SetTime根据传递的3个参数为对象设置时间;Print_Time负责将对象表示的时间输出。
定义一个时间类对象,设置时间为9点20分30秒并显示该时间。 - 使用构造函数代替上面的SetTime成员函数,并在主函数中使用构造函数设置时间为10点40分50秒,并显示该时间。
- 重载时间类的构造函数(不带参数),使得小时、分、秒均为0。
- 在时间类的析构函数中输出“Good bye!”。
- 定义拷贝构造函数并使用。在时间类中定义一个静态数据成员,记录当前的年份2017年。
代码
#include <iostream>
#include <cstring>
using namespace std;
class Time
{
public:
int Hour,Minute,Second;
public:
void SetTime(int Hour_,int Minute_,int Second_);
void Print_Time();
};
class CDemo
{
public:
~CDemo()
{
cout<<"Good bye!"<<endl;
}
};
void Time::SetTime(int Hour_,int Minute_,int Second_)
{
Hour = Hour_;
Minute = Minute_;
Second = Second_;
}
void Time::Print_Time()
{
cout<<Hour<<"-"<<Minute<<"-"<<Second<<endl;
}
int main()
{
int Hour,Minute,Second;
Time c;
cin>>Hour>>Minute>>Second;
c.SetTime(Hour,Minute,Second);
c.Print_Time();
CDemo* pTest = new CDemo;
pTest = new CDemo[1];
delete [] pTest;
return 0;
}