The copy assignment operator has the usual signature:
my_class & operator = (my_class const & rhs);
Does the following signatur
Yes, it should be const. Otherwise clients can do this:
const
class MyClass { public: MyClass & operator = (MyClass const & rhs); } void Foo() { MyClass a, b, c; (a = b) = c; //Yikes! }