Computer >> Máy Tính >  >> Lập trình >> C ++

Tăng ++ và Giảm - Nạp chồng toán tử trong C ++


Các toán tử tăng (++) và giảm (-) đơn vị diện tích 2 toán tử một ngôi cần thiết có sẵn trong C ++. Ví dụ sau giải thích cách toán tử tăng (++) có thể được nạp chồng cho tiền tố cũng như việc sử dụng hậu tố. Theo cách tương tự, bạn có thể nạp chồng toán tử (-).

Ví dụ

#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;
}

Đầu ra

Điều này cho kết quả -

H: 12 M:0
H: 12 M:1
H: 10 M:41
H: 10 M:42