Easy question? Need help understanding overloading assignment operator

It seems to me that the standard definition for an overloaded assignment operator is something along these lines:

Vehicle& operator =(const Vehicle& rhs);

I don't really understand why it's typical to start off overloading the assignment operator by specifying the return type of the function as class&. void would make a lot more sense to me. is the reason for doing this so that, for example:

1
2
SomeClass a, b, sum;
cout << "this is the sum: " << sum = a+b;


would be able to display the value of sum? Hopefully this question makes sense.
Yes.
Also:
 
a=b=c;
Topic archived. No new replies allowed.