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

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

Войти
Регистрация
Восстановить пароль
 
funduk17
40 / 3 / 0
Регистрация: 20.05.2013
Сообщений: 67
#1

Создать иерархию классов Шахматная фигура – абстрактный класс, содержащий поле – цвет. Создать производные классы - C++

17.02.2014, 01:30. Просмотров 1085. Ответов 5
Метки нет (Все метки)

Создать иерархию классов Шахматная фигура – абстрактный класс, содержащий поле – цвет. Создать производные классы все фигуры, содержащие свое название и координаты позиции на доске. Определить конструктор копирования, оператор присваивания через соответствующие функции базового класса. Продемонстрировать работу классов.
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
#include <iostream>
#include <Windows.h>
using namespace std;
 
class figura
{
    char col[30];
public:
    figura(void){}
    figura(char _col)
    {
        *col = _col;
    }
    ~figura(){}
 
    void set_figura()
    {
        cout << "Ââåäèòå öâåò:  ";
        gets(col);
    }
    void get_figura()
    {
        cout << "\tГ–ГўГҐГІ:\t\t";
        puts(col);
    }
};
 
class vse: public figura
{ char name[30];
  char xy[30];
public:
    vse(void){}
    vse(_col, _name, _xy):figura(_col)
    {
    *name = _name;
    *xy = _xy;
    }
    ~vse(){} 
        void set_vse()
    {
        cout << "Ââåäèòå Г*Г*çâГ*Г*ГЁГҐ:  ";
        gets(name);
        cout << "Ââåäèòå êîîðäèГ*Г*ГІГ»:  ";
        gets(xy);
    }
    void get_vse()
    {
        cout << "\tГЌГ*çâГ*Г*ГЁГҐ:\t\t";
        puts(name);
        cout << "\tÊîîðäèГ*Г*ГІГ»:\t\t";
        puts(xy);
    }   
};
 
 
int main()
{
    setlocale(0, "rus");
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int size;
    cout << "Ââåäèòå êîëè÷åñòâî Г§Г*ГЇГЁГ±ГҐГ©: ";
    cin >> size;
    vse *mas = new vse[size];
    
    for (int i=0; i<size; ++i)
    {
        cout << "\nГ‡Г*ГЇГЁГ±Гј В№" << i+1 << endl;
        mas[i].set_figura();
        mas[i].set_vse();
    }
 
 
    cout << "\nÂûâîä:" << endl;
    for (int i=0; i<size; ++i)
    {
        cout << "\nГ‡Г*ГЇГЁГ±Гј В№" << i+1 << endl;
        mas[i].get_figura();
        mas[i].get_vse();
    }
    cin.sync();
    cin.get();
    delete [] mas;
    system("PAUSE");
    return 0;
}
Ошибка в 33-ей строчки
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2014, 01:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создать иерархию классов Шахматная фигура – абстрактный класс, содержащий поле – цвет. Создать производные классы (C++):

Классы и наследование (Создать класс 3D фигура, и производные классы шар, конус, цилиндр и куб. Создать функцию вычисления объёма.) - C++
Уважаевые, помогите написать прожку на экзамене: Создать класс 3D фигура, и производные классы шар, конус, цилиндр и куб. Создать функцию...

Создать класс - данные - абстрактный базовый класс. Создать производные классы - C++
Всем привет! У меня вот такая проблема.... Создать класс - данные - абстрактный базовый класс. Создать производные классы - данные типа...

Создать абстрактный базовый класс Figure с виртуальной функцией Периметр. Создать производные классы Rectangle - C++
Создать абстрактный базовый класс Figure с виртуальной функцией -периметр.Создать производные классы Rectangle, Circle,Triangle,Rhomb в...

Определить класс «Шахматная фигура» и производные классы «Ферзь» - C++
Дело в том, что начал изучать ООП не так давно и тут попалась задачка, которая заинтересовала. Условие таково: &quot;Определить класс «Шахматная...

Создать абстрактный базовый класс с виртуальной функцией - Объем. Создать производные классы: Пирамида, Шар со своими функциями объема - C++
Создать абстрактный базовый класс с виртуальной функцией - Объем. Создать производные классы: Пирамида, Шар со своими функциями объема:...

Создать абстрактный базовый класс Figure и производные классы Rectangle, Circle - C++
Создать абстрактный базовый класс Figure с виртуальными методами вычисления площади и периметра. Создать производные классы: Rectangle...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DrOffset
7090 / 4231 / 950
Регистрация: 30.01.2014
Сообщений: 7,007
17.02.2014, 01:32 #2
Цитата Сообщение от funduk17 Посмотреть сообщение
Ошибка в 33-ей строчки
Типы укажи для _col, _name, _xy.
funduk17
40 / 3 / 0
Регистрация: 20.05.2013
Сообщений: 67
17.02.2014, 01:42  [ТС] #3
Подскажите ещё пожалуйста, почему у меня всё время первый раз пропускается Ввод Цвета в первой записи. Просмотрел код, вроде всё норм, но все равно её пропускает!
Создать иерархию классов Шахматная фигура – абстрактный класс, содержащий поле – цвет. Создать производные классы
The_Prophet
8 / 8 / 0
Регистрация: 13.01.2013
Сообщений: 177
17.02.2014, 02:36 #4
funduk17, когда учился на консолях C++ тоже много всяких приколов было... это похоже один из них))
Просмотрел твой код несколько раз... всё в порядке. Почему программа так себя ведёт без понятия. Попробуй начинать запись с 1-го элемента. Ещё можешь попробовать вызвать "mas[i].set_figura();" второй раз, если i=0. Ну и что-то в таком духе)
Но такого рода выходы не выходы, а скорее "костыль". Лучше конечно в пошаговом режиме проследить за переменными и найти в чём проблема.
funduk17
40 / 3 / 0
Регистрация: 20.05.2013
Сообщений: 67
17.02.2014, 02:58  [ТС] #5
Попробовал начать запись с первого элемента - не помогла, а если вызывать функцию второй раз
C++
1
2
3
4
5
6
7
    for (int i=0; i<size; ++i)
    {
        cout << "\nГ‡Г*ГЇГЁГ±Гј В№" << i+1 << endl;
        if (i==0) mas[i].set_figura();
        mas[i].set_figura();
        mas[i].set_vse();
    }
то вот что выходит
Создать иерархию классов Шахматная фигура – абстрактный класс, содержащий поле – цвет. Создать производные классы
А как запустить в пошаговом режиме, не подскажете?
Stella
75 / 75 / 5
Регистрация: 26.02.2013
Сообщений: 224
17.02.2014, 03:07 #6
Цитата Сообщение от funduk17 Посмотреть сообщение
как запустить в пошаговом режиме, не подскажете?
F10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2014, 03:07
Привет! Вот еще темы с ответами:

Создать абстрактный базовый класс объектов на декартовой плоскости CShape и разработать иерархию классов конкретных фигур - C++
Создать абстрактный базовый класс объектов на декартовой плоскости CShape (фигура). Спроектировать и реализовать иерархию классов...

Создать абстрактный класс с виртуальной функцией вычисления нормы и модуля; определить производные классы с собственными функциями - C++
Прошу вашей интеллектуальной помощи) Условие задачи: 16. Создать абстрактный класс Norm с виртуальной функцией вычисления нормы и...

Наследование классов. Используя базовый класс Point {x, y, цвет} разработать производные классы механизма двигателя. - C++
Движок (двигатель с кривошипно-шатунным механизмом) Ребята, кто может, помогите очень надо! получу автоматом или пойду на экзамен, вот...

Создать абстрактный базовый класс и производные - C++
Всем привет. Прошу подсказать, что-то у меня не выходит. Задание: Создайте абстрактный базовый класс &quot;Работник&quot;, один из методов которого,...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.02.2014, 03:07
Ответ Создать тему
Опции темы

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