假设有一个类Time,它包含三个数据类型Hour、Minute和Second。使用运算符重载,我将如何分别递增这三个变量?
这里有一个反例,展示了使用++运算符增量如何将所有变量全部增量。我想分别递增它们或者只递增一个。但我不知道如何通过对象访问它们
class Time
{
private:
int Hour, Minute, Second, option;
public:
Time() : Hour(13), Minute(59), Second(59)
{
}
void operator ++ ()
{
++Second;
++Minute;
++Hour;
}
void Display ()
{
cout << Hour << ":" << Minute << ":" << Second << endl;
}
};
int main ()
{
Time t;
++t;
t.Display();
return 0;
}
创建一个带有一些公共属性的类
class Time {
public:
int hour = 0;
int minute = 0;
int second = 0;
};
然后创建一个Time的实例,并更新属性。
Time time = Time();
// assign whatever value you like
time.hour = 2;
time.minute = 32;
time.second = 324;
// or use the increment operator
time.hour++
// time.hour now contains the value 3