拷贝赋值运算符
- 一个名为 operator= 的函数(operator后加表示要定义的运算符的符号),重载运算符,有返回类型和参数,返回类型通常是左侧运算符的引用
- 若在类内未显式定义,则编译器会自动生成合成拷贝赋值运算符,它主要是将运算符右侧的所有非static成员赋给左侧元算对象对应成员(或是用来禁止该类型对象的赋值)
delete来指定不生成拷贝赋值运算符(对象就不能通过值传递)
class Sales_data
{
public:
Sales_data(const Sales_data&);
Sales_data();
Sales_data& operator=(const Sales_data&) = delete;
std::string bookNo;
int units_sold = 0;
double revenue = 0.0;
};