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

Тема в разделе "C/C++/C#", создана пользователем Again, 6 май 2012.

  1. Again

    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;
    }
    }
    }
    Вопрос заключается в следующем: как сделать именно это сравнение "...соответствующее высказыванию: «Данные поля имеют одинаковые цвета»."?
     
  2. Whatka

    Whatka Well-Known Member

    Регистрация:
    9 окт 2011
    Сообщения:
    433
    Симпатии:
    4
    как я понял x и y - координаты клетки на шахматной доске
    создай ещё 1 метод в классе цвет доски

    Код (C++):
    private:
    int x, y;
    bool col_black;
    тогда в конструкторе такжн нужно указывать какой цвет у данной клетки
    а сравнение будет проводиться по этому полю
     
Загрузка...
Похожие Темы - Перегрузка Операторов
  1. lisica198808
    Ответов:
    0
    Просмотров:
    941
  2. MGeorge
    Ответов:
    0
    Просмотров:
    1.343
  3. sasha465
    Ответов:
    1
    Просмотров:
    1.458
  4. XADD
    Ответов:
    1
    Просмотров:
    1.102
  5. XADD
    Ответов:
    9
    Просмотров:
    2.530

Поделиться этой страницей