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

Массив объектов - C++

Восстановить пароль Регистрация
 
Merovingian
54 / 54 / 5
Регистрация: 24.09.2011
Сообщений: 149
01.10.2011, 18:01     Массив объектов #1
Создать массив объектов разного типа невозможно.
Но, наверное, можно создать массив объектов, поле которых, будет содержать указатель на объекты разных типов.
Такое можно реализовать через шаблоны?
Набросайте код кто нибудь если не сложно)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2011, 18:01     Массив объектов
Посмотрите здесь:

Массив объектов C++
Массив объектов C++
Массив объектов C++
Массив объектов C++
Массив объектов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
01.10.2011, 18:43     Массив объектов #2
А можно создать массив указателей на полиморфные объекты.
Я даже код набросаю!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Base
{ public:
        virtual ~Base();
};
 
template < class T >
class Child: public Base
{
};
 
int mail()
{
      Base * array[] = { new Child<int>, new Child<float>, new Child<double>};
 
      ...
 
      return 0;
}
Вот какой я сегодня добрый.
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
01.10.2011, 19:26     Массив объектов #3
Вот более подробный пример, основанный на примере Deviaphan:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class Base
{ public:
        virtual ~Base();
};
 
template < class T >
class One: public Base
{
};
class Two: public Base
{
};
class Three: public Two
{
};
class Fourth: public One, public Two
{
};
int mail()
{
      Base * array[] = { new One<int>, new Two<float>, new Three<double>, new Fourth< long int >};
 
      ...
 
      return 0;
}
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
01.10.2011, 19:36     Массив объектов #4
Цитата Сообщение от Chelioss Посмотреть сообщение
Вот более подробный пример
Но мой пример рабочий, а твой не компилируемый.(
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,131
01.10.2011, 19:56     Массив объектов #5
Да, извините, накосячил. Но думаю, что идея автору топика понятна)
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
01.10.2011, 19:58     Массив объектов #6
Chelioss, наследование в классах One & Two стоит сделать виртуальным, а в классах Three & Fourth выполнить инстанциирование в предках
Yandex
Объявления
01.10.2011, 19:58     Массив объектов
Ответ Создать тему
Опции темы

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