member binary operator and nonmember binary operator in operator overloading
<p>While trying to learning operator overloading, I read the following statements from C++ Primer. Frankly speaking, I do not quite understand what does the message that these statements want to deliver. The examples include defining both member binary operator and nonmember binary operator. Is there any difference when using them? </p>

<blockquote>
  <p>Ordinarily we define the arithmetic and relational operators as nonmember functions and we define assignment operators as members:</p>
</blockquote>

<pre><code>Sales_item&amp; Sales_item:: operator (const Sales_item&amp;)
Sales_item operator_(const Sales_item&amp;, const Sales_item&amp;);
</code></pre>

<blockquote>
  <p>Both addition and compound assignment are binary operators, yet these functions define a different number of parameters. The reason for the discrepancy is the this pointer.</p>
</blockquote>
