赋值操作符是一个名为operator的函数,返回一个类的引用,由于是 = 操作符,左操作数为 this,右操作数为 const ClassName&, 返回 *this:
// equivalent to the synthesized assignment operator Sales_item& Sales_item::operator=(const Sales_item &rhs) { isbn = rhs.isbn; // calls string::operator= units_sold = rhs.units_sold; // uses built-in int assignment revenue = rhs.revenue; // uses built-in double assignment return *this; }
一般,如果一个类需要copy constructor, 那么也一定需要 assignment operator。
C++ Primer 13.2