Crossing assignment operators?
<p>It's time for my first question now. How do you cross assignments operators between two classes?</p>

<pre><code>class B;

class A {
public:
A &amp;operator = ( const B &amp;b );
friend B &amp;B::operator = ( const A &amp;a ); //compiler error
};

class B {
public:
B &amp;operator = ( const A &amp;a );
friend A &amp;A::operator = ( const B &amp;b );
};
</code></pre>

<p>I searched for how to forward declare a member function like:</p>

<pre><code>class B;
B &amp;B::operator = ( const A &amp;a ); //error
</code></pre>

<p>But I didn't find anything. And I don't want to make the classes all-out friends with each other. How do I do this?</p>
