1 / 1 / 0
Регистрация: 30.05.2017
Сообщений: 54
1

Перегрузить бинарную функцию А/В как “А бьет В” и оператор превращения типа (с “шашка” в “дамка”)

14.10.2017, 11:42. Показов 468. Ответов 5
Метки нет (Все метки)

1. Класс “фигура”: координаты на шахматной доске, цвет. Метод – “ход” – один из двух направлений.
2. Дополнительные классы: “шашка” – (порядковый номер) и “дамка”, методы – “ход” и “удар”.
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#include<iostream>
#include<string>
using namespace std;
 
class figure;
 
class checker
{
    int number;
    int x;
    int y;
public:
    //конструктор по-умолчанию
    checker()
    {
        x = 0;
        y = 0;
        number = 0;
    }
    //конструктор с параметрами
    checker(int number, int x, int y)
    {
        this->number = number;
        this->x = x;
        this->y = y;
    }
    // Метод "Ход"
    void move(figure&);
    // Метод "Удар"
    void hit();
};
 
class king
{
public:
    // Метод "Ход"
    void move(figure&);
    // Метод "Удар"
    void hit();
};
 
class figure
{
private:
    int x;
    int y;
    string colour;
 
    //Дружественная функция "Ход"
    friend void checker::move(figure&);
    friend void king::move(figure&);
    // Метод "Удар"
    void hit();
 
public:
    //Конструктор по-умолчанию
    figure()
    {
        x = 0;
        y = 0;
        colour = "white";
    }
    //Конструктор с параметрами
    figure(int x, int y, string colour)
    {
        this->x = x;
        this->y = y;
        this->colour = colour;
    }
    //Конструктор копирования
    figure(const figure &obj)
    {
        x = obj.x;
        y = obj.y;
        colour = obj.colour;
    }
};
//Хід фігури (движение по кооординатам)
void checker::move(figure &a)
{
    cout<<"Порядковый номер шашки : "<<number<<endl;
    cout<<"Цвет = "<<a.colour<<endl;
    
    cout<<"Координата x= "<<x<< endl;
    cout<<"Координата y= "<<y<< endl;
 
    cout<<"Новая координата х после хода : " <<a.x<<endl;
    cout<<"Новая координата y после хода : " <<a.y <<endl;
    
}
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    figure F(4,4,"white");
    checker K(1, 2, 2);
    K.move(F);
 
    return 0;
    
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.10.2017, 11:42
Ответы с готовыми решениями:

Нужно создать класс “фигура” и дополнительные классы "шашка” и “дамка”
Создать конкретный класс, с учетом необходимости скрытия данных, в котором предусмотреть:...

Как правильно перегрузить оператор присвоения под параметр типа AnsiString
Вот делаю домашку, и проблема, моя строка ждет интов, а не самих строк AnsiString, Builder 6 стоит...

Перегрузить оператор используя внешнюю функцию инкремент
Суть задания такова нужно перегрузить оператор используя внешнюю функцию Инкремент. Программа не...

Перегрузить оператор используя внешнюю функцию логического умножения
Перегрузить оператор используя внешнюю функцию логического умножения ребята нужна программа

5
Nishen
14.10.2017, 14:38
  #2

Не по теме:

Было около миллиона раз в этом учебном году.

0
1 / 1 / 0
Регистрация: 30.05.2017
Сообщений: 54
14.10.2017, 20:10  [ТС] 3
Nishen, по подробней, пожалуйста.
0
Nishen
14.10.2017, 20:55
  #4

Не по теме:

Тему с подобным названием создавали уже пару десятков раз за последний учебный год.

0
1 / 1 / 0
Регистрация: 30.05.2017
Сообщений: 54
15.10.2017, 18:14  [ТС] 5
Nishen, где их найти-то?
0
1029 / 711 / 316
Регистрация: 26.02.2015
Сообщений: 3,237
15.10.2017, 19:13 6
Внизу страницы смотрите.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.10.2017, 19:13

Перегрузить унарную, бинарную и логическую операцию
Как мне в созданной программе перегрузить унарную,бинарную и логическую операцию? #include...

Составить и протестировать функцию БЬЕТ (К1, К2, КМ), которая проверяет, бьет ли карта К1 карту К2
Описать новый структурный тип. Описать требуемые в задаче функции для работы со структурами....

Описать класс "Фигура" ("Шашка", "Дамка")
1. Класс “фигура”: координаты на шахматной доске, цвет. Метод – “ход” – в одном из двух...

Создать функцию prompt и перегрузить её для параметра разного типа
Создайте функцию prompt( ) для выдачи подсказки пользователю и ожидания ввода данного. Перегрузите...

Как перегрузить оператор<< и оператор>> ?
Доброго времени суток. Застрял на двух вопросах и не как не могу найти инфу которвя мне помогла бы...

Создать и перегрузить функцию вычисляющую сумму двух чисел типа int и double
Создать и перегрузить функцию вычисляющую сумму двух чисел типа int и double.числа вводить с экрана


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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