C++ 如何在类中增加单独的变量,而不是对象本身?
假设有一个包含小时、分钟和秒三种数据类型的上课时间。使用运算符重载,如何分别递增这三个变量 下面是一个反例,显示了如何使用++操作符递增所有变量。我想分别增加它们,或者只增加一个。但我不知道如何通过对象访问它们C++ 如何在类中增加单独的变量,而不是对象本身?,c++,class,object,variables,increment,C++,Class,Object,Variables,Increment,假设有一个包含小时、分钟和秒三种数据类型的上课时间。使用运算符重载,如何分别递增这三个变量 下面是一个反例,显示了如何使用++操作符递增所有变量。我想分别增加它们,或者只增加一个。但我不知道如何通过对象访问它们 class Time { private: int Hour, Minute, Second, option; public: Time() : Hour(13), Minute(59), Second(59) {
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;
}
上课时间
{
私人:
整数小时、分钟、秒、选项;
公众:
时间():小时(13)、分钟(59)、秒(59)
{
}
void运算符++()
{
++第二;
++分钟;
++小时;
}
无效显示()
{
无法创建具有某些公共属性的类
class Time {
public:
int hour = 0;
int minute = 0;
int second = 0;
};
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
然后创建一个时间实例并更新属性
class Time {
public:
int hour = 0;
int minute = 0;
int second = 0;
};
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
Hi Azzam,为了给你一个尽可能准确和有帮助的答案,从广义上讲,这将有助于了解你在所述课堂时间内试图实现的目标,并查看到目前为止你编写的可能与你的问题相关的任何代码。我试图使用运算符重载来增加从上课时间。我会展示代码,但这是无关紧要的,因为我只制作了这个类。展示您尝试过的内容并描述您的问题。@Azzam您需要重载哪些运算符?您能给出一个您需要的行为示例吗?您能给出一个反例,说明三个变量递增而不递增意味着什么吗“单独”?我需要重载++运算符。我现在编辑并给出了一个反例,它同时递增小时、分钟和秒。很抱歉,我忘了提到我必须专门使用运算符重载来递增变量。这不是我想要的答案