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

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

Восстановить пароль Регистрация
 
Vovkt
0 / 0 / 0
Регистрация: 01.11.2012
Сообщений: 1
01.11.2012, 21:41     Массив разных объектов #1
Здравствуйте,
в институте задали написать шахматы на 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);
}
я конечно плохо понял этот вариант, но в итоге результат получился тот-же.

и собственно вопрос: Как в итоге можно сделать массив или вектор фигур или какой-нибудь другой тип данных чтобы можно было удобно работать с фигурами, или вобще хотябы работать с ними хоть както?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2012, 21:41     Массив разных объектов
Посмотрите здесь:

C++ Случайные значения для разных объектов
C++ Взаимодействие объектов разных классов
C++ массив объектов разных производных классов
Запись и чтение объектов разных классов в один файл C++
C++ Создание коллекции объектов разных классов
Сложение массивов из разных объектов класса C++
C++ Простое создание строки из объектов разных типов данных
Массив разных объектов внутри класса C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
01.11.2012, 22:39     Массив разных объектов #2
test надо сделать виртуальной
Yandex
Объявления
01.11.2012, 22:39     Массив разных объектов
Ответ Создать тему
Опции темы

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