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

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

Войти
Регистрация
Восстановить пароль
 
Vovkt
0 / 0 / 0
Регистрация: 01.11.2012
Сообщений: 1
#1

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

01.11.2012, 21:41. Просмотров 550. Ответов 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++
Хочу сделать что-то типа системы событий и их обработчиков. Есть класс Window и класс Control, от класса Control наследуются Button,...

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

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

Сложение массивов из разных объектов класса - C++
Я объявил в классе массив a и ввёл два объекта класса. Как сложить массив a разных объектов класса?

Случайные значения для разных объектов - C++
Здравствуйте. Я тут взялся за консольный морской бой, нарыл на форуме пару способов генерации случайных чисел, только есть...

Создание коллекции объектов разных классов - C++
Здравствуйте. Помогите, пожалуйста, с задачкой создания коллекции объектов разных типов. Я сначала реализовал программку, использовав...

Вызов метода с одним именем у объектов разных типов - C++
Здравствуйте. Подскажите как решить задачу. Есть 3 класса: A, B, C которые не связаны друг с другом и не наследуют от общего класса. В...

Запись и чтение объектов разных классов в один файл - C++
Здравствуйте. Изучаю С++ по Лафоре. Дошёл до места, где объясняется, как записывать объекты разных классов в один бинарник. У Лафоре,...

Простое создание строки из объектов разных типов данных - C++
Всем доброго времени суток. Создал класс, который (по моему мнению) сделает более удобным создание строк и их передачу в функции,...

Вектор объектов разных классов. Доступ к свойствам элемента вектора - C++
есть базовый класс class A { //... } есть производные классы class A1 : public A { //... public:

rand() при создании разных объектов одного класса в них одинаков - C++
создаю динамическую матрицу в объекте, заполняемую рандомно, в каждом объекте одно и то же заполнение, как грамматно исправить? ...

Массив объектов - C++
Здравствуйте.Нужна помощь с программой, не могу создать массив объектов. В своем коде удалось написать только 1 объект, а нужно что-бы их...


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

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

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