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

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

Восстановить пароль Регистрация
 
funduk17
40 / 3 / 0
Регистрация: 20.05.2013
Сообщений: 66
17.02.2014, 01:30     Создать иерархию классов Шахматная фигура – абстрактный класс, содержащий поле – цвет. Создать производные классы #1
Создать иерархию классов Шахматная фигура – абстрактный класс, содержащий поле – цвет. Создать производные классы все фигуры, содержащие свое название и координаты позиции на доске. Определить конструктор копирования, оператор присваивания через соответствующие функции базового класса. Продемонстрировать работу классов.
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     Создать иерархию классов Шахматная фигура – абстрактный класс, содержащий поле – цвет. Создать производные классы
Посмотрите здесь:

Наследование классов. Используя базовый класс Point {x, y, цвет} разработать производные классы механизма двигателя. C++
Создать абстрактный базовый класс объектов на декартовой плоскости CShape и разработать иерархию классов конкретных фигур C++
Класс: Создать производные классы StraightLine, Ellipse, Hyperbola C++
C++ Создать абстрактный класс с виртуальной функцией вычисления нормы и модуля; определить производные классы с собственными функциями
Создать абстрактный базовый класс с виртуальной функцией - Объем. Создать производные классы: Пирамида, Шар со своими функциями объема C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DrOffset
6450 / 3824 / 885
Регистрация: 30.01.2014
Сообщений: 6,620
17.02.2014, 01:32     Создать иерархию классов Шахматная фигура – абстрактный класс, содержащий поле – цвет. Создать производные классы #2
Цитата Сообщение от funduk17 Посмотреть сообщение
Ошибка в 33-ей строчки
Типы укажи для _col, _name, _xy.
funduk17
40 / 3 / 0
Регистрация: 20.05.2013
Сообщений: 66
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
Сообщений: 66
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
Yandex
Объявления
17.02.2014, 03:07     Создать иерархию классов Шахматная фигура – абстрактный класс, содержащий поле – цвет. Создать производные классы
Ответ Создать тему
Опции темы

Текущее время: 09:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru