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

Массив разных объектов

01.11.2012, 21:41. Показов 928. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте,
в институте задали написать шахматы на C++ с использованием классов, т.е все фигуры(например TPawn) должны быть основаны на одном родительском классе(TFigure). Я начал писать но у меня возникла проблема - как хранить фигуры. Где то на этом форуме я нашел что можно создать вектор из родительского класса и тогда можно будет хранить объекты дочерних классов в нем:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class TFigure{
public:
    int test(){
        return 1;
    }
};
class TPawn: public TFigure{
public:
    int test(){
        return 0;
    }
};
 
int main(int argc, char *argv[])
{
    std::vector<TFigure*>z;
    z.push_back(new TPawn());
    return 0;
}
Но в итоге при обращении к z[0]->test() ф-я возвращает "1" т.е выполняется функция из класса TFigure а не из TPawn;
потом я нашел что можно сделать так:
C++
1
2
3
4
5
6
7
int main(int argc, char *argv[])
{
    std::vector<TFigure*>z;
    TPawn* f = new TPawn();
    TFigure* s = f;
    z.push_back(s);
}
я конечно плохо понял этот вариант, но в итоге результат получился тот-же.

и собственно вопрос: Как в итоге можно сделать массив или вектор фигур или какой-нибудь другой тип данных чтобы можно было удобно работать с фигурами, или вобще хотябы работать с ними хоть както?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.11.2012, 21:41
Ответы с готовыми решениями:

Массив объектов разных производных классов
Задача такая: базовый класс - фигура, производные классы - круг, треугольник и т.п. Пользователь...

Массив разных объектов внутри класса
Хочу сделать что-то типа системы событий и их обработчиков. Есть класс Window и класс Control, от...

Как сделать массив объектов разных классов?
Как сделать массив объектов разных классов?

Как создать массив из объектов разных классов, имеющих общего предка?
Есть основной класc 'Автомобиль' его наследуют 3 класса: мини вен, купе и седан. Как создать...

1
2848 / 1997 / 986
Регистрация: 21.12.2010
Сообщений: 3,705
Записей в блоге: 10
01.11.2012, 22:39 2
test надо сделать виртуальной
1
01.11.2012, 22:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.11.2012, 22:39
Помогаю со студенческими работами здесь

Передача объектов дочерних классов через массив объектов родительского класса в функцию
Здравствуйте. Возможно, вопрос больше относится к теории ООП, но все же я не решился задавать его в...

Парсинг JSON. Массив из разных объектов
Пытаюсь разобрать json с помощью Newtonsoft.Json. В тексте массив разных объектов - документов,...

Массив из разных объектов (квадраты, линии, окружности)
Привет, ребят. Есть массив из разных объектов(квадраты, линии, окружности) вразнобой. Каждый...

Как создать массив из объектов разных типов
Привет, интересует такая проблема: У меня есть абстрактный класс, от которого наследуются классы и...

Как можно создать массив разных объектов, заранее неизвестного размера?
если нужно создать несколько однотипных объектов программно то один скажем, создается кодом myobj:...

Получение состояния переменной из разных скриптов для разных объектов и её изменение
Есть два объекта: player и sensor, и два скрипта для каждого объекта: move (Для player) и...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru