求教啊
#include<iostream.h>
#include<windows.h>
#include<stdlib.h>
class Clock
{
int Hour;
int Minute;
int Second;
public:
Clock(int NewHour,int NewMinute,int NewSecond)
{
Hour=NewHour;
Minute=NewMinute;
Second=NewSecond;
}
void ShowTime()
{
cout<<Hour<<":"<<Minute<<":"<<Second<<endl;
}
void operator++(int )
{
Second++;
if(Second>=60)
{
Second-=60;
Minute++;
if(Minute>=60)
{
Minute-=60;
Hour++;
Hour%=24;
}
}
}
};
void main()
{
SYSTEMTIME s;
GetLocalTime(&s);
Clock clock(s.wHour,s.wMinute,s.wSecond);
while(1)
{
Sleep(968);
system("cls");
clock++;
clock.ShowTime();
}
}
下面这个是什么意思啊
怎么用的啊
void operator++(int )
[解决办法]
后置++重载,用法例如
Clock c;
c++;
那个int是为了和前置++区分开来而加上的占位用的
[解决办法]
运算符重载,后置++,带了int参数。楼主还是系统的看下c++方面的书吧。
[解决办法]
operator为运算符重载...建议楼主看C++ primer;
[解决办法]
后面带int参数还真没注意过
[解决办法]
你看看void operator++(int )这里的定义,这里是重载后置++操作符。
在实现这个重载里,先把second等加1,再处理其他。
如果是前置++操作符的话,就处理完信息,最后再加1.