증가(++) 및 감소(--) 연산자 영역 단위 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