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

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

Войти
Регистрация
Восстановить пароль
 
Merovingian
54 / 54 / 5
Регистрация: 24.09.2011
Сообщений: 149
#1

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

01.10.2011, 18:01. Просмотров 775. Ответов 5
Метки нет (Все метки)

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

Написать класс Матрица. Массив объектов класса Массив - C++
Написать класс Матрица (в данном случае матрица – массив объектов класса Массив из предыдущего задания). В классе реализовать следующие...

Массив объектов - C++
При решении задачи необходимо, без использования STL, описать класс, который используется для представления элементов а) массива с...

Массив объектов - C++
При решении задачи необходимо, без использования STL, описать класс, который используется для представления элементов а) массива с...

Массив объектов - C++
Всем привет. Даны три класса. Мне нужно создать массив, в который я смогу добавить обьекты классов-потомков. Я представляю сбе это как то...

массив объектов - C++
Почему у меня так много объектов? Должно быть два, а конструктор вызывается n*n раз. Почему? #include <iostream> using namespace...

Массив объектов - C++
Доброго времени суток... Подскажите пожалуйста у меня есть следующий код: class vertex{ public: float x; float y; ...

5
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 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;
}
Вот какой я сегодня добрый.
1
Chelioss
181 / 181 / 4
Регистрация: 08.01.2011
Сообщений: 1,137
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;
}
1
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
01.10.2011, 19:36 #4
Цитата Сообщение от Chelioss Посмотреть сообщение
Вот более подробный пример
Но мой пример рабочий, а твой не компилируемый.(
1
Chelioss
181 / 181 / 4
Регистрация: 08.01.2011
Сообщений: 1,137
01.10.2011, 19:56 #5
Да, извините, накосячил. Но думаю, что идея автору топика понятна)
0
Jupiter
Каратель
Эксперт С++
6566 / 3987 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
01.10.2011, 19:58 #6
Chelioss, наследование в классах One & Two стоит сделать виртуальным, а в классах Three & Fourth выполнить инстанциирование в предках
1
01.10.2011, 19:58
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.10.2011, 19:58
Привет! Вот еще темы с ответами:

Массив объектов - C++
Здравствуйте,помогите починить программу,не знаю в чем причина,мб недопонимаю.... Задание: Элементы масива которые больше 10 заменить на 1,...

С++ массив объектов - C++
Люди начался новый учебный год опять обращаюсь за помощью File Имя файла.размер. количество обращений. создать массив объектов.ввывести. ...

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

Массив объектов - C++
Можно так написать? class A {бла-бла-бла} void main() { int x=3; A *arr = new A; }


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

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

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