玩命加载中 . . .

14.3-算术和关系运算符


14.3 算术和关系运算符

算术和关系运算符一般定义为非成员函数

算术运算符会计算两个运算对象并得到一个新值,新值通常是一个局部变量,然后返回局部变量的副本

Sales_data operator+(const Sales_data& lhs, const Sales_data& rhs) {
    Sales_data sum = lhs;
    sum += rhs;     // 使用复合赋值
    return sum;
}

14.3.1 相等运算符

bool operator==(const Sales_data& lhs, const Sales_data& rhs) {
    return lhs.isbn() == rhs.isbn() && lhs.units_sold == rhs.units_sold && lhs.revenue == rhs.revenue;
}
bool operator!=(const Sales_data& lhs, const Sales_data& rhs) {
    return !(lhs == rhs);
}

14.3.2 关系运算符

通常情况下,关系运算符应该

  • 定义顺序关系
  • 如果类同时也含有相等运算符,则关系运算符应该与其保持一致

文章作者: kunpeng
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 kunpeng !
  目录