• Новый бот-ассистент на форуме Codeby

    Теперь на форуме работает ИИ-помощник @bot_cdb — твой технический ассистент по информационной безопасности. Просто упомяни @bot_cdb в любой теме, и получишь быстрый ответ на вопросы по CVE, инструментам, техникам атак и защиты. Бот анализирует весь тред перед ответом, проверяет актуальность данных и может предложить дополнительную помощь. Особенно полезен для проверки технических деталей, поиска документации и быстрых консультаций по пентесту, малвари, форензике и другим областям ИБ.

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

  • Автор темы Автор темы 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;
}
}
}

Вопрос заключается в следующем: как сделать именно это сравнение "...соответствующее высказыванию: «Данные поля имеют одинаковые цвета»."?
 
как я понял x и y - координаты клетки на шахматной доске
создай ещё 1 метод в классе цвет доски

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

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы