递增++和递减-C ++中的运算符重载
增量(++)和减量(-)运算符面积为2,是C++中可用的一元运算符。下面的示例说明如何为前缀以及后缀用法重载增量(++)运算符。同样,您可以重载运算符(-)。
示例
#include <iostream>
using namespace std;
class Time {
private:
int hours;
int minutes;
public:
Time(int h, int m) {
hours = h;
minutes = m;
}
void display() {
cout << "H: " << hours << " M:" << minutes <<endl;
}
//重载前缀++运算符
Time operator++ () {
++minutes; //增加当前对象
if(minutes >= 60) {
++hours;
minutes -= 60;
}
return Time(hours, minutes);
}
//重载postfix++运算符
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.display();
++T1;
T1.display();
T2++;
T2.display();
T2++;
T2.display();
return 0;
}输出结果
这给出了结果-
H: 12 M:0 H: 12 M:1 H: 10 M:41 H: 10 M:42