回复 第6楼 hitcolder 的帖子
谢谢你的关注与答复,问题我已解决.我练习的主要是一个运算符重载的程序的一部分.
其实类外类内实现都可,只是出了一点小问题而已.完整代码如下.
#include "stdafx.h"
#include<iostream>
using namespace std;
class Clock
{public:
Clock(int NH=0,int NM=0,int NS=0){H=NH;M=NM;S=NS;}
void ST(){cout<<H<<":"<<M<<":"<<S<<endl;}
//ST表示ShowTime,这句可
//在类外实现.void Clock::ST(){cout<<H<<":"<<M<<":"<<S<<endl;}
void operator++();
void operator++(int);
private:
int H,M,S;
};
//void ST()
//{cout<<H<<":"<<M<<":"<<S<<endl;}
void Clock::operator ++()
{S++;
if(S>=60)
{S=S-60;
M++;
if(M>=60)
{M=M-60;
H++;
H=H%24;
}
}
cout<<"++Clock;";
}
void Clock::operator ++(int)
{S++;
if(S>=60)
{S=S-60;
M++;
if(M>=60)
{M=M-60;
H++;
H=H%24;
}
}
cout<<"++Clock++;";
}
int _tmain(int argc, _TCHAR* argv[])
{Clock myClock(23,59,59);
cout<<"First time output:";
myClock.ST();
myClock++;
myClock.ST();
++myClock;
myClock.ST();
return 0;
}