@EnamoredBird

Почему не работает оператор сравнения?

Почему-то при любом значении точек, возвращается значение true. Что не так?
(касается оператора сравнения)
5e1184cc01cb4ae6bba16cec77d0edae.PNG40f0f70a751548f6a5f43d010c820186.PNG
  • Вопрос задан
  • 258 просмотров
Пригласить эксперта
Ответы на вопрос 4
zagayevskiy
@zagayevskiy
Android developer at Yandex
Всё просто. В методе Input вы объявляете переменные х, у, которые перекрывают соответствующие переменные класса. Вводите локальные, а х, у, принадлежащие классу, остаются нулями.
Пара замечаний:
вместо Input лучше переопределить friend isream& operator>>(istream& input, Points& point), в котопом вводить x, y
Вместо .operator== лучше писать а==b, вы его для этого создаёте, по идее.
Ответ написан
Комментировать
dnovikoff
@dnovikoff
У вас не инициализируется члены класса в конструкторе. Нужно

Points:Points():x(0), y(0) {
}

Points:Points(int x, int y):x(x), y(y) {
}
Ответ написан
@iv_k
Points::Input()
{
int x,y; не надо!
}
x, y должны быть приватными членами класса.
в конструкторе инициализируйте их нулями.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы