C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

インクリメント++とデクリメント-C++での演算子のオーバーロード


インクリメント(++)およびデクリメント(-)演算子は、C++で使用可能なユニット2の必要な単項演算子です。次の例では、プレフィックスとポストフィックスの使用のためにインクリメント(++)演算子をオーバーロードする方法を説明します。同様に、演算子(-)をオーバーロードできます。

#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

  1. Pythonのインクリメントおよびデクリメント演算子

    この記事では、Python3.xのインクリメント演算子とデクリメント演算子について学習します。またはそれ以前。他の言語では、前後のインクリメントおよびデクリメント(++-)演算子があります。 Pythonには、そのような演算子はありません。ただし、これらの演算子は、以下の例で説明する形式で実装できます。 例 x=786 x=x+1 print(x) x+=1 print(x) x=x-1 print(x) x-=1 print(x) 出力 787 788 787 786 他の言語には、インクリメント演算子とデクリメント演算子を使用するforループがあります。 Pythonは、デフォ

  2. Pythonのインクリメント演算子とデクリメント演算子?

    Pythonには単項インクリメント/デクリメント演算子(+ +/--)がありません。価値を高める代わりに、 a += 1 値をデクリメントするには、-を使用します a -= 1 例 >>> a = 0 >>> >>> #Increment >>> a +=1 >>> >>> #Decrement >>> a -= 1 >>> >>> #value of a >>> a 0 Pythonは、同じことを行うための複数