接頭辞++ / –演算子
メンバー関数:
T& operator--()
T& operator++()
グローバル機能
T1& operator--(T2)
T1& operator++(T2)
++ / –演算子の後(もう1つの役に立たないパラメーター)
T& operator--(int)
T& operator++(int)
T1& operator--(T2,int)
T1& operator++(T2,int)
T operator++(int a){
T tmp(*this); n++; return tmp;}
T& operator++(){
++n; return *this;}
friend T& operator--(T& t,int a);
friend T operator--(T& t);
T& operator--(T& t,int a)
{
T tmp(t);
t.n--;
return tmp;
}
T operator--(T& t)
{
t.n--;
return t;
}
- フロントは最初に値を変更してから機能するため、フロントは参照を返します。これは、新しい値であるリファレンスを返すことと同じです。
- post-positionは値を返します。これは、post-positionが最初に機能するためです。値を変更すると、実際に機能するものは一時的なコピーと同じになり、実数が変更されたため、値が返されます。
T t(5);
cout<<(t++)<<", ";
cout<<t<<", ";
cout<<(++t)<<", ";
cout<<t<<endl;
cout<<(t--)<<", ";
cout<<t<<", ";
cout<<(--t)<<", ";
cout<<t<<endl;
オペレーターのオーバーロードに関する注意:
- 新しい演算子を定義できません
- オペレーターは過負荷後の日常生活に順応
- 演算子の優先順位を変更しないでください
- オーバーロードできません: " 。 "、 "。*"、 "::"、 "?:"、 "sizeof"
- ()、[]、->または=は、メンバー関数として宣言する必要があります