2016-06-20 13 views
-1

単項++過負荷演算子に問題があります。ここで 単項演算子のオーバーロードC++

#include<iostream> 

using namespace std; 

class Index{ 

     int value; 
public: 
    Index() : value(0) { } 
    int GetIndex() const 
    { 
     return value; 
    } 
    void operator ++() 
    { 
     value++; 
    } 
}; 
int main() 
{ 
    Index idx1,idx2; 

    ++idx1; 
    idx2++; 
    idx2++; 

    cout << "idx1.value:" << idx1.GetIndex() << endl; 
    cout << "idx2.value:" << idx2.GetIndex() << endl; 


} 

文のIDX2が++すなわち++ IDX1は、私が参照してるproperly.The帳を取り組んでいるが、私にコンパイルerror.Theプレフィックスを与えている...私のコードでは、両方がすべきことを言います値のメンバーが1

なぜ私はこの問題に直面していますインクリメントし取得する必要があります。すなわち...同じ出力を与える?? ...私が使用しているIDEは、2015年

+0

[こちらの例](https://msdn.microsoft.com/en-us/library/f6s9k9ta.aspx)が役に立ちます –

答えて

2

です。接頭辞と接尾辞++は2つの別個の演算子です。 C++はpostfixのためのダミーのint paramとprefixのためのparamを取ることによってそれらを区別します。

+0

ありがとうございました。 – user5422891

関連する問題