hell0w0rd
@hell0w0rd
Просто разработчик

Перегрузка логических операторов?

Подскажите, есть ли возможность перегрузить неявно все логические операторы?
class Product{
private:
    int price;
    string name;
public:
    friend bool operator >(Product a, Product b){
        return a.price > b.price;
    }
};


В коде перегрузка оператора «больше», а как явно не прописывая перегрузить остальные?

PS то есть очевидно, что для сравнения на равенство будет следующий код:
friend bool operator ==(Product a, Product b){
        return a.price == b.price;
    }
  • Вопрос задан
  • 4432 просмотра
Решения вопроса 1
@Door
можете определить только 2 оператора < и ==, и использовать namespace std::rel_ops в котором есть определения операторов !=, >, <=, >=. Оно?
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Paul
@Paul
На boost/operators.hpp посмотрите, кстати, может это то, что вам нужно? Это как std::rel_ops, только намного мощнее.
Ответ написан
BuriK666
@BuriK666
Компьютерный псих
Вы хотите использовать один код для разных опереторов?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы