증가(++) 및 감소(--) 연산자 영역 단위 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;
}
// overload prefix ++ operator
Time operator++ () {
++minutes; // increment current object
if(minutes >= 60) {
++hours;
minutes -= 60;
}
return Time(hours, minutes);
}
// overload postfix ++ operator
Time operator++( int ) {
Time T(hours, minutes);
// increment current object
++minutes;
if(minutes >= 60) {
++hours;
minutes -= 60;
}
// return old original value
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