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

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

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

опп класс и массив (создать массив указателей по выборке животных, участвующих в забеге) - C++

15.05.2013, 23:23. Просмотров 530. Ответов 5
Метки нет (Все метки)

Здравствуйте! Есть задача... вкратце. Нужно создать массив указателей по выборке животных участвующих в забеге.
Это
Лошадь, Крокодил, Верблюд, БТР)
Как мне 4 разных типа обьектов в один массив втулить?
Класс Животные, я так понял общий для всех... Их в массив нужно тулить.
Тогда как в "Животные" определенного вида всунуть?

На словах скажите, там разберусь)
Миниатюры
опп класс и массив (создать массив указателей по выборке животных, участвующих в забеге)  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2013, 23:23     опп класс и массив (создать массив указателей по выборке животных, участвующих в забеге)
Посмотрите здесь:

Создать динамический массив указателей C++
C++ Как передать в функцию двумерный массив указателей на класс?
C++ Виртуальные функции (создать массив указателей на объекты трех классов)
C++ Создать массив заданной размерности с помощью функции и указателей
абстрактный класс и массив указателей C++
C++ Как создать в файле массив указателей фиксированной размерности на строки текста?
Создать массив указателей с возможностью удаления любого элемента C++
C++ Возожно ли создать массив указателей на шаблоны функций?
C++ Создать массив указателей на Person и использовать его со всеми производными классами
массив указателей на базовый класс C++
Создать функцию поиска нулевых элементов в массиве, вернуть массив указателей C++
Создать дополнительный массив указателей на строки матрицы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1479 / 1055 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
15.05.2013, 23:37     опп класс и массив (создать массив указателей по выборке животных, участвующих в забеге) #2
либо иерархию животных завести, где все животные наследуются от базового класса животного и в массив пихать указатели на этот базовый класс, хотя динамический тип будет не базовый, а какое-то конкретное животное.
в базовом классе сделать виртуальный метод, вызвав который можно было бы определить, что это за животное.
например этот метод возвращал бы айдишник животного или еще что-то, по чему можно точно сказать что это за животное. можно еще попробовать dynamic_cast делать к конкретным животным.
второй вариант - обычный класс животного, в котором есть поле, идентифицирующее животное и в массив пихать правильно сконструированные инстансы такого класса. тут наследование не нужно будет. выборку делать по этому полю, которое либо сделать публичным (в этом случае структура больше подходит), либо через публичный метод класса, который бы возвращал значение этого поля.
Psilon
Master of Orion
 Аватар для Psilon
5763 / 4711 / 622
Регистрация: 10.07.2011
Сообщений: 14,190
Записей в блоге: 5
Завершенные тесты: 4
15.05.2013, 23:41     опп класс и массив (создать массив указателей по выборке животных, участвующих в забеге) #3
Onics, в задании по-моему четко написано: у вас есть животные разных видов.
C++
1
2
3
4
5
class Animal abstract
{
public: 
   virtual bool IsParticipateInRound() = 0;
}
Onics
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 3
15.05.2013, 23:48  [ТС]     опп класс и массив (создать массив указателей по выборке животных, участвующих в забеге) #4
Цитата Сообщение от Psilon Посмотреть сообщение
Onics, в задании по-моему четко написано: у вас есть животные разных видов.
C++
1
2
3
4
5
class Animal abstract
{
public: 
   virtual bool IsParticipateInRound() = 0;
}
Понял... То есть массив будет хранить объекты Animal, а как в нем определять какой объект вида животного он будет нести?
Psilon
Master of Orion
 Аватар для Psilon
5763 / 4711 / 622
Регистрация: 10.07.2011
Сообщений: 14,190
Записей в блоге: 5
Завершенные тесты: 4
15.05.2013, 23:50     опп класс и массив (создать массив указателей по выборке животных, участвующих в забеге) #5
Onics, никак, это называется полиморфизм. определяя в базовом классе виртуальный метод проверки, вы можете создать массив animal а затем писать
C++
1
2
3
4
5
6
7
Horse horse;
Camel camel;
Animal animals[2];
animals[0] = horse;
animals[1] = camel;
for(int i = 0; i < 2; i++)
   cout << "animal #" << i <<"Is participate in round? \t" << animals[i].IsParticipateInRound() << endl;
Onics
0 / 0 / 0
Регистрация: 15.05.2013
Сообщений: 3
15.05.2013, 23:59  [ТС]     опп класс и массив (создать массив указателей по выборке животных, участвующих в забеге) #6
спасибо, буду разбираться!
Yandex
Объявления
15.05.2013, 23:59     опп класс и массив (создать массив указателей по выборке животных, участвующих в забеге)
Ответ Создать тему
Опции темы

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