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

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

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

Гетерогенные массивы - C++

23.08.2013, 14:20. Просмотров 693. Ответов 11
Метки нет (Все метки)

Сразу к сути, мне нужно создать массив который будет содержать в себе элементы разных типов. Такие массивы называются гетерогенными. Погуглил и ничего не нашел, а реализовать надо. Может я что-то путаю?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.08.2013, 14:20     Гетерогенные массивы
Посмотрите здесь:

C++ Попадание точки. Массивы чисел. Массивы записей.
Указатели и массивы. Индексация с помощью указателей. Передача массивов в функции. Динамические массивы (обработка матриц) C++
Динамические массивы и функции. Динамические массивы. C++
C++ Динамические массивы структур;Классы. Класс массивы структур;Классы. Класс динамического массива структур.
индексные массивы и адресные массивы C++
массивы указателей,указатели на массивы C++
C++ массивы указателей,указатели на массивы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
23.08.2013, 14:25     Гетерогенные массивы #2
std::tuple? boost::variant? boost::any? своя иерархия?
MickeyBlueEyes
Студент
120 / 131 / 12
Регистрация: 07.04.2011
Сообщений: 503
23.08.2013, 14:31     Гетерогенные массивы #3
Для этого наверное есть уже специализированные средства на С++, но можна делать массив который содержит в себе указатели на струтктуры типа:
C++
1
2
3
4
5
6
7
8
9
enum Type 
{ 
  INT, FLOAT, DOUBLE, CHAR
};
struct item
{
 void * ptr;
 enum Type type;
};
Наверное как-то так.
za5
440 / 344 / 30
Регистрация: 16.10.2010
Сообщений: 842
Записей в блоге: 7
23.08.2013, 14:33     Гетерогенные массивы #4
ещё массив
C++
1
union
-ов подойдёт, только недостаток в том, что надо прописывать заранее какие типы может содержать
Mr_Rountry
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 4
23.08.2013, 14:35  [ТС]     Гетерогенные массивы #5
У меня задание:
1)Интерфейс реализовать в двух классах
2)создать гетерогенный массив объектов этих двух классов
3)продемонстрировать полиморфную работу работу с элементами этого массива с использованием интерфейса
P.S. можно на С++ или на Java
P.S.S. Я только начал учить программирование.

Добавлено через 1 минуту
C указателями не вариант)
Jupiter
Каратель
Эксперт C++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
23.08.2013, 14:36     Гетерогенные массивы #6
Цитата Сообщение от Mr_Rountry Посмотреть сообщение
C указателями не вариант)
это почему?

Цитата Сообщение от Mr_Rountry Посмотреть сообщение
продемонстрировать полиморфную работу работу с элементами этого массива с использованием интерфейса
это можно продемострировать только с указателями и ссылками
vndtta
70 / 47 / 5
Регистрация: 17.10.2011
Сообщений: 152
Завершенные тесты: 1
23.08.2013, 14:40     Гетерогенные массивы #7
Цитата Сообщение от Jupiter Посмотреть сообщение
это почему?


это можно продемострировать только с указателями и ссылками
а как же виртуальные методы
Mr_Rountry
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 4
23.08.2013, 14:40  [ТС]     Гетерогенные массивы #8
вот как мне пояснили:
"Массив, хранящий указатели на значения различных типов, не является гетерогенным, так как собственно хранящиеся в массиве данные относятся к единственному типу — типу «указатель»." Из вики взято.
Jupiter
Каратель
Эксперт C++
6549 / 3969 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
23.08.2013, 14:41     Гетерогенные массивы #9
Цитата Сообщение от vndtta Посмотреть сообщение
а как же виртуальные методы
что как же, я про них и говорю, работают они только для ссылок и указателей

Цитата Сообщение от Mr_Rountry Посмотреть сообщение
Массив, хранящий указатели на значения различных типов, не является гетерогенным, так как собственно хранящиеся в массиве данные относятся к единственному типу — типу «указатель»
уточни у того, у кого ты получил это задание
Kuzia domovenok
1888 / 1743 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 1
23.08.2013, 14:47     Гетерогенные массивы #10
По-моему, массив указателей на базовый класс это и есть самое классическое упражнение на полиморфизм.
Какие-то иные варианты вряд ли нужны для изучения наследования и виртуальных функций.

Про то, что нельзя массив указателей, это тебе прямо в задании сказано или это ты сам решил, почитав вики?
Mr_Rountry
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 4
23.08.2013, 14:55  [ТС]     Гетерогенные массивы #11
Я уточню... Я еще переспрашивал, вроде правильно понял. Вобщем я уточню)Спасибо)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.08.2013, 14:59     Гетерогенные массивы
Еще ссылки по теме:

Массивы структур и массивы строк C++
C++ Массивы. Циклические алгоритмы (Заполнить массивы случайными числами, лежащими в интервале 0 до 100)
C++ Массивы структур, массивы векторов
Многомерные массивы, как перебирать внутренние массивы C++
Массивы структур и массивы строк C++

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

Или воспользуйтесь поиском по форуму:
Bend3r
148 / 135 / 18
Регистрация: 29.07.2012
Сообщений: 709
23.08.2013, 14:59     Гетерогенные массивы #12
Как вариант, массив или указатели на класс, в котором множество необходимых для вас переменных + интерфейс один и тот-же.
Yandex
Объявления
23.08.2013, 14:59     Гетерогенные массивы
Ответ Создать тему
Опции темы

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