昨天的问题,实现一个简单的时钟类,包含小时和分钟,方法有显示和相加。
0.cpp
#include <iostream>
using namespace std;///define class Clock
class Clock
{
public:
Clock(int, int);
void showTime();
Clock& add(Clock& c1, Clock& c2);
int hour;
int minutes;
};
///ctor
Clock::Clock(int h, int m)
{
hour = h;
minutes = m;
}
void Clock::showTime()
{
cout<<"The time is:"<<hour<<"h"<<minutes<<"m"<<endl;
}
Clock& add(Clock& c1, Clock& c2)
{
c1.hour += c2.hour;
c1.minutes += c2.minutes;
return c1;
}
int main()
{
cout<<"Please enter two integers:";
int h, m;
cin>>h>>m;
Clock clock1(h, m);
clock1.showTime();
cout<<"Please enter two integers:";
cin>>h>>m;
Clock clock2(h, m);
clock2.showTime();
cout<<"Add the two Clock object:";
clock1 = add(clock1, clock2);
clock1.showTime();
return 0;
}
结果为:
上面的代码很简陋,今天的目标是改进它。主要有几点:
1.类里成员访问限制改为public。
2.检查小时和分钟的范围,更加合理。
3.使用函数操作符重载,如+ -。