1)在类内增加下列成员函数(将是内置成员函数),要求在类内声明,类外定义。
在main()数中,调用新增加的成员函数,以测试扩充后的功能。

在main()数中,调用新增加的成员函数,以测试扩充后的功能。
- add_seconds(int) //增加n秒钟
- add_minutes(int) //增加n分钟
- add_hours(int) //增加n小时
代码如下:
/*
*copyright (c) 2015,
*All rights reserved
*The Author:王争取
*Finished Time:2015.3.15
*/
#include <iostream>
using namespace std;
class time
{
public:
void set_time();
void show_time();
void add_sec();
void add_minute();
void add_hour();
private:
bool is_time(int,int,int);
int hour;
int minute;
int second;
};
void time::set_time()
{
char c1,c2;
cout<<"请输入时间格式(hh:mm:ss)"<<endl;
while(1)
{
cin>>hour>>c1>>minute>>c2>>second;
if(c1!=':'||c2!=':')
cout<<"格式不正确,请重新输入"<<endl;
else if(!is_time(hour,minute,second))
cout<<"时间非法,请重新输入"<<endl;
else break;
}
}
void time::show_time()
{
cout<<"the time is:";
cout<<hour<<":"<<minute<<":"<<second<<endl;
}
bool time::is_time(int h,int m,int s)
{
if(h<0||h>24||m<0||m>60||s<0||s>60)
return false;
else return true;
}
inline void time::add_sec()
{
int n=0;
cout<<"请输入要增加的秒数"<<endl;
do
{
cin>>n;
if((second+n)>60)
cout<<"输入的数据非法,请重新输入"<<endl;
}
while((second+n)>60);
second+=n;
}
inline void time::add_minute()
{
int n=0;
cout<<"请输入要增加的分钟数"<<endl;
do
{
cin>>n;
if((minute+n)>60)
cout<<"输入的数据非法,请重新输入"<<endl;
}
while((minute+n)>60);
minute+=n;
}
inline void time::add_hour()
{
int n=0;
cout<<"请输入要增加小时数"<<endl;
do
{
cin>>n;
if((hour+n)>24)
cout<<"输入的数据非法,请重新输入"<<endl;
}
while((hour+n)>24);
hour+=n;
}
int main()
{
time t1;
t1.set_time();
t1.add_sec();
t1.add_minute();
t1.add_hour();
t1.show_time();
return 0;
}
测试图如下: