2012-05-04 21 views
0

可能性の重複:
Operator overloading過負荷後置インクリメント演算子

は、私はクラスFooを持っていると私が後置インクリメント演算子をオーバーロードするとします。私は次のようなことをします:

class Foo{ 
..... 
public: 
    friend Foo& operator++(Foo&, int); 

そして私は新しい演算子をどこかで定義します。私が本当に理解できないことは、これがどこから来たのかということです。int

私が持っている場合:

f++; 

を、これは私に単項しているようだ:f = Foo();私が行うことができます。

構文規則はどのようになっていますか?

私が実行したテストでは、渡されたint値は0でした。 tiは常にゼロですか?

+0

基本的に、接尾辞と接頭辞を区別する手段です。 – juanchopanza

+1

従来は、postfixは参照ではなく値で返します。 –

答えて

1

intパラメータは、コンパイラが接頭辞と接尾辞の演算子を区別するためのヒントです。

+0

単なるヒント以上のものであり、[MSDN](http://msdn.microsoft.com/en-us/library/f6s9k9ta(v = vs.100).aspx)は、int以外のものを使用するとエラーが発生することを示しています。 – crashmstr

関連する問題