C++ 重载运算符和重载函数
递增运算符( ++ )和递减运算符( -- )是 C++ 语言中两个重要的一元运算符。
下面的实例演示了如何重载递增运算符( ++ ),包括前缀和后缀两种用法。类似地,您也可以尝试重载递减运算符( -- )。
实例
#include <iostream>
using namespace std;
class Time
{
private:
int hours;
int minutes;
public:
Time(){
hours = 0;
minutes = 0;
}
Time(int h, int m){
hours = h;
minutes = m;
}
void displayTime()
{
cout << "H: " << hours << " M:" << minutes <<endl;
}
Time operator++ ()
{
++minutes;
if(minutes >= 60)
{
++hours;
minutes -= 60;
}
return Time(hours, minutes);
}
Time operator++( int )
{
Time T(hours, minutes);
++minutes;
if(minutes >= 60)
{
++hours;
minutes -= 60;
}
return T;
}
};
int main()
{
Time T1(11, 59), T2(10,40);
++T1;
T1.displayTime();
++T1;
T1.displayTime();
T2++;
T2.displayTime();
T2++;
T2.displayTime();
return 0;
}
当上面的代码被编译和执行时,它会产生下列结果:
H: 12 M:0
H: 12 M:1
H: 10 M:41
H: 10 M:42
C++ 重载运算符和重载函数