title: Purpose of Dummy Parameter in Postfix Operator Overload? c++
body: <p>When overloading the postfix operator, I can do something simple like</p>
  
  <pre><code>Class Foo
  {
  private: 
     int someBS;
  public:
     //declaration of  pre &amp;postfix++
     Foo operator++();
     //rest of class not shown
  };
  </code></pre>
  
  <p>Prefix doesn't need to take any parameters, so when I define it, something like</p>
  
  <pre><code>Foo Foo::operator()
  {
     someBS ++;
     return *this;
  }
  </code></pre>
  
  <p>and it makes perfect sense to me.</p>
  
  <p>When I go to define the postfix overload I have to include a dummy int parameter</p>
  
  <pre><code>Foo Foo::operator++(int)
  {
     Foo temp = *this;
     someBS ++;
     return temp;
  }
  </code></pre>
  
  <p>My question is why? I don't ever use it in the method. The prefix operator doesn't require one. The postfix returning the <code>temp</code> value is not dependent on the dummy parameter. I know that if I <em>want</em> to overload a postfix operator that's how it's done, I just want to know the reason behind.</p>