Перегрузка Операторов

  • Автор темы Again
  • Дата начала
A

Again

#1
В общем задание следующее:
Создайте класс chess (шахматы), в котором хранятся поля шахматной доски x, y (целые числа, лежащие в диапазоне 1-8). Левое нижнее поле доски (1, 1) является черным. Перезагрузите по данному классу операторы == и != Соответствующие высказыванию: «Данные поля имеют одинаковые цвета».

мои наработки:
C++:
class Chess{
private:
int x, y;
public:
Chess(){}						//default constr
Chess(int fieldX, int fieldY){	//const with parameters
x = fieldX; y = fieldY;
}

//overloading operator ==
bool operator == ( Chess& val){
if ((this->x == val.x) && (this->y == val.y))
{
return true;
}
else
{
return false;
}
}

//overloading operator !=
bool operator != ( Chess& val){
if ((this->x == val.x) && (this->y == val.y))
{
return false;
}
else
{
return true;
}
}
}
Вопрос заключается в следующем: как сделать именно это сравнение "...соответствующее высказыванию: «Данные поля имеют одинаковые цвета»."?
 
W

Whatka

#2
как я понял x и y - координаты клетки на шахматной доске
создай ещё 1 метод в классе цвет доски

C++:
private:
int x, y;
bool col_black;
тогда в конструкторе такжн нужно указывать какой цвет у данной клетки
а сравнение будет проводиться по этому полю