首页 > 解决方案 > 我将如何增加一个类中的单独变量,而不是对象本身?

问题描述

假设有一个 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;
}

标签: c++classobjectvariablesincrement

解决方案


创建一个具有一些公共属性的类

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 

推荐阅读