C++ 重载关系操作符

来源:互联网 发布:java程序结构分为 编辑:程序博客网 时间:2024/05/29 03:47

1、关系操作符(==、!=、<、<=、>、>=)

2、最好相互联系起来进行重载,让一个操作符调用另一个操作符

3、代码示例:

class Sales_item {friend bool operator==(const Sales_item&, const Sales_item&);public:    Sales_item(const std::string &book, unsigned units, double amount):              isbn(book), units_sold(units), revenue(amount) { }    Sales_item(): units_sold(0), revenue(0.0) { }public:    double avg_price() const;    bool same_isbn(const Sales_item &rhs) const        { return isbn == rhs.isbn; }private:    std::string isbn;    unsigned units_sold;    double revenue;};inline bool operator==(const Sales_item &lhs, const Sales_item &rhs){return lhs.units_sold == rhs.units_sold &&lhs.revenue == rhs.revenue &&lhs.same_isbn(rhs);}inline bool operator!=(const Sales_item &lhs, const Sales_item &rhs){return !(lhs == rhs);}


0 0
原创粉丝点击