Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
маня
1 / 1 / 0
Регистрация: 28.04.2012
Сообщений: 115
#1

Одиночное наследование, иерархия классов "Шахматная фигура" - C++

11.06.2013, 10:57. Просмотров 460. Ответов 4
Метки нет (Все метки)

Люди добрые помогите пожалуйста написать программу на с++.
Создать иерархию классов шахматная фигура - абстрактный класс, содержащий поле- цвет. создать-производные классы все фигуры, содержащие своё названием координаты позиции на доске. определить конструктор копирования, оператор присваивания через соответствующие функции базового класса . продемонстрировать работу классов
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2013, 10:57     Одиночное наследование, иерархия классов "Шахматная фигура"
Посмотрите здесь:
C++ Иерархия классов "люстра", "лампа"
C++ Иерархия классов "Студент, преподаватель, персона, завкафедрой"
Иерархия классов "Точка-Отрезок-Треугольник" C++
Ошибка "no matching function for call to." / наследование классов C++
C++ Наследование классов "Языки программирования"
C++ Иерархия классов, наследование (Млекопитающие, Парнокопытные, Птицы, Животное)
C++ Абстрактный базовый класс и множественное наследование (либо иерархия классов)
Вопрос про "Наследование" и "Объединение" C++
C++ Задача из книги Дейтела "Шахматная доска"
C++ Одиночное наследование
Одиночное наследование C++
C++ Помогите плс переписать программу "Фигура из символов"

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Пaтрик
414 / 389 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
11.06.2013, 11:03     Одиночное наследование, иерархия классов "Шахматная фигура" #2
маня, что не получается?
маня
1 / 1 / 0
Регистрация: 28.04.2012
Сообщений: 115
11.06.2013, 11:35  [ТС]     Одиночное наследование, иерархия классов "Шахматная фигура" #3
да в принципе всё не получается. я в наследовании вообще ничего не понимаю

Добавлено через 3 минуты
вот что смогла
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 class Figure                    //класс «фигура»
  { protected:
    int hor;                      //позиция фигуры по горизонтали
    char vert;                    //позиция фигуры по вертикали
    int color;                     //цвет фигуры
    public:
        Figure(char x, int y, int z) //конструктор
         : vert(x), hor(y), color(z)
       {}
   };
  class Castle : public Figure         //класс ладья
  { public:
       Сastle(char x, int y, int z):
       Figure (x, y, z)               //конструктор
         {}
     int Move(char x, int y)         //функция, реализующая ход ладьи на поле [x y ]
      { if ( ((x == vert)
         && (y != hor))
         || ((x != vert)
        && (y == hor)))
        {
          hor = y;
          vert = x;
          return 1;
        }
       return 0;
      }
  };
Добавлено через 13 минут
Помогите кто-нибудь написать программу!

 Комментарий модератора 
маня, Вы научитесь пользоваться тегами для оформления своего кода?
kventin_zhuk
БНТУ ФИТР
215 / 155 / 15
Регистрация: 26.12.2012
Сообщений: 382
11.06.2013, 12:06     Одиночное наследование, иерархия классов "Шахматная фигура" #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Figure
{
protected:
    int hor; //позиция фигуры по горизонтали
    char vert; //позиция фигуры по вертикали
    int color; //цвет фигуры
public:
    Figure(char x, int y, int z); //конструктор
    virtual int Move(int x, int y) abstract;
};
 
class Castle : public Figure //класс ладья
{
public:
    int Move(int x, int y);
};
Делаете класс Figure - в нем метод Move - помечаете как абстрактный. Далее делаете наследника от класса фигуры - и в каждом наследнике уже реализуете свой метод Move.

вот файл реализации
C++
1
2
3
4
5
6
7
8
9
10
Figure::Figure(char x, int y, int z): vert(x), hor(y), color(z)
{
    // реализация конструктора базового класса
}
 
int Castle::Move(int x, int y)
{
    // реализация метода move для класса ладьи
    return 0;
}
от класса Figure объектов создать нельзя - а вот от класса ладьи - уже можно
маня
1 / 1 / 0
Регистрация: 28.04.2012
Сообщений: 115
11.06.2013, 12:09  [ТС]     Одиночное наследование, иерархия классов "Шахматная фигура" #5
А вы бы не могли полностью написать программу? Пожалуйста!
Yandex
Объявления
11.06.2013, 12:09     Одиночное наследование, иерархия классов "Шахматная фигура"
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru