请修改时间类的构造函数,根据所给参数创建对象。若参数不正确,则创建的对象为 0 点整。
#include <iostream>
#include <iomanip>
using namespace std;
/* 你提交的代码将被嵌在这里 */
int main()
{
int h, m, s;
cin >> h >> m >> s;
MYTIME a, b(h), c(h, m), d(h, m, s);
a.Output();
cout << endl;
b.Output();
cout << endl;
c.Output();
cout << endl;
d.Output();
cout << endl;
return 0;
}
输入样例1
8 30 45
输出样例1
Create 00:00:00
Create 08:00:00
Create 08:30:00
Create 08:30:45
00:00:00
08:00:00
08:30:00
08:30:45
Destroy 08:30:45
Destroy 08:30:00
Destroy 08:00:00
Destroy 00:00:00
输入样例2
28 -1 97
输出样例2
Create 00:00:00
Create 00:00:00
Create 00:00:00
Create 00:00:00
00:00:00
00:00:00
00:00:00
00:00:00
Destroy 00:00:00
Destroy 00:00:00
Destroy 00:00:00
Destroy 00:00:00
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
答案
class MYTIME {
public:
MYTIME(int h=0, int m=0, int s=0)
{
if (h >= 0 && h <= 23 && m >= 0 && m <= 59 && s >= 0 && s <= 59) {
hour = h;
minute = m;
second = s;
}
else {
hour = 0;
minute = 0;
second = 0;
}
cout << "Create " << setfill('0') << setw(2) << hour << ":" << setw(2) << minute << ":" << setw(2) << second << endl;
}
~MYTIME()
{
cout << "Destroy ";
Output();
cout << endl;
}
void Output() {
cout << setfill('0') << setw(2) << hour << ":"
<< setfill('0') << setw(2) << minute << ":"
<< setfill('0') << setw(2) << second;
}
private:
int hour, minute, second;
};