Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

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

Указатели и массивы. Индексация с помощью указателей. Передача массивов в функции. Динамические массивы (обработка матриц) - C++
Для каждого элемента , bij, i= 1,...,n , j=1,...,n определяется свой многоугольник местонахождением соответствующего элемента aij (см....

Многомерные массивы, как перебирать внутренние массивы - C++
Здравствуйте. Такой учебный код и плохо понимаю как перебираются внутренние массивы, может кто пояснит подоходчивее. Именно внутренний...

Попадание точки. Массивы чисел. Массивы записей. - C++
Всем привет. По языкам задали три контрольные на си. Я сам си не знаю, даже не представляю, поэтому очень нужна ваша помощь. ...

Массивы структур и массивы строк - C++
Здравствуйте. Возникла проблема с одной работой: Постановка задачи: 1. Сформировать динамический массив из элементов структурного типа....

Массивы структур и массивы строк - C++
1. Сформировать динамический массив из элементов структурного типа. Структурный тип определен в варианте. 2. Распечатать...

11
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
23.08.2013, 14:25 #2
std::tuple? boost::variant? boost::any? своя иерархия?
2
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;
};
Наверное как-то так.
1
za5
442 / 346 / 30
Регистрация: 16.10.2010
Сообщений: 842
Записей в блоге: 7
23.08.2013, 14:33 #4
ещё массив
C++
1
union
-ов подойдёт, только недостаток в том, что надо прописывать заранее какие типы может содержать
1
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 указателями не вариант)
0
Jupiter
Каратель
Эксперт С++
6559 / 3980 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
23.08.2013, 14:36 #6
Цитата Сообщение от Mr_Rountry Посмотреть сообщение
C указателями не вариант)
это почему?

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


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

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

Про то, что нельзя массив указателей, это тебе прямо в задании сказано или это ты сам решил, почитав вики?
1
Mr_Rountry
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 4
23.08.2013, 14:55  [ТС] #11
Я уточню... Я еще переспрашивал, вроде правильно понял. Вобщем я уточню)Спасибо)
0
Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
23.08.2013, 14:59 #12
Как вариант, массив или указатели на класс, в котором множество необходимых для вас переменных + интерфейс один и тот-же.
1
23.08.2013, 14:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.08.2013, 14:59
Привет! Вот еще темы с ответами:

массивы указателей,указатели на массивы - C++
Понимаю что тема эта изжевана, но я ещё жую.Хочу, чтобы усвоилось. допустим есть QStringList a; a.append("мамa"); ...

массивы указателей,указатели на массивы - C++
Понимаю что тема эта изжевана, но я ещё жую.Хочу, чтобы усвоилось. допустим есть QStringList a; a.append("мамa"); ...

Массивы структур, массивы векторов - C++
Разработайте тип данных «Вектор в трехмерном пространстве» в виде структуры, поля которой — координаты вектора. Напишите следующие функции:...

индексные массивы и адресные массивы - C++
погитите решить задачу c массивами двумя способами {индексные и адресные} { Вычислить суммы элементов каждой строки матрицы Х(20х20),...


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

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

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