• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

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

Again

В общем задание следующее:
Создайте класс 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

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

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!