Оператор равенства в C++
Знак == для чисел дает ответ true или false.
В классе ту же запись дает оператор равенства: он помечен
const, потому что сравнение не меняет объект,
и возвращает bool.
В теле сравнивают поля по вашему правилу. Запишем
класс Box с полем value:
class Box {
public:
int value = 0;
bool operator==(const Box& other) const {
return value == other.value;
}
};
Сейчас создадим две коробки и сравним их:
int main() {
Box left;
left.value = 7;
Box right;
right.value = 7;
std::cout << (left == right) << "\n";
return 0;
}
Сделайте класс Tag с полем code.
Настройте оператор равенства по этому полю.
Сравните коды 5 и 5 и выведите ответ.
Создайте два Tag с кодами 2 и 9.
Выведите, равны ли они по вашему оператору.