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

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

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

Выделение памяти под массив объектов - C++

17.12.2013, 22:13. Просмотров 309. Ответов 5
Метки нет (Все метки)

У меня есть класс Shape. Требуется выделить память под массив этих объектов. К примеру:
*
C++
1
2
Shape **shapes;
*shapes = new Shape[10];
После такого способа выдает BAD_ACCESS при запуске.
Malloc не предлагать, если можно выделить через NEW.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2013, 22:13     Выделение памяти под массив объектов
Посмотрите здесь:

C++ Выделение памяти под массив структур
Выделение памяти под массив C++
Выделение памяти под двумерный массив C++
C++ Стандартные типы объектов в C++ и выделение памяти под них
Выделение памяти под массив строк C++
Выделение памяти под массив объектов без вызова конструктора C++
C++ Выделение памяти под двумерный массив
Динамическое выделение памяти под массив C++
C++ Выделение памяти под массив структур
Выделение памяти под шаблонный массив C++
C++ Выделение памяти под статический массив
C++ Динамическое выделение памяти под массив

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Yanush
158 / 154 / 46
Регистрация: 28.09.2013
Сообщений: 286
Завершенные тесты: 1
17.12.2013, 22:28     Выделение памяти под массив объектов #2
Слишком много *
C++
1
2
Shape *shapes;
shapes = new Shape[10];
Zlobengod
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 25
17.12.2013, 22:35  [ТС]     Выделение памяти под массив объектов #3
Мне после объявления нужно инициализировать каждый элемент получившегося массива другими объектами.
C++
1
2
chapes[i] = new Shape(1, 2);
chapes[i].foo();
А вышеописанный метод инициализирует 1 объект(Я проверял)
Yanush
158 / 154 / 46
Регистрация: 28.09.2013
Сообщений: 286
Завершенные тесты: 1
17.12.2013, 22:45     Выделение памяти под массив объектов #4
Делается так:
C++
1
2
3
4
5
6
7
8
9
10
class TestClass
{
TestClass(void) {...}
void Init(int a, int b) {...}
};
 
TestClass *cls;
cls = new TestClass[10];
for (int i = 0; i < 10; i++)
    cls[i].Init(1, 2);
vitecd
18 / 1 / 0
Регистрация: 26.09.2013
Сообщений: 59
18.12.2013, 03:50     Выделение памяти под массив объектов #5
тут просто необходимо пояснить, когда нужно инициализировать КАЖДЫЙ элемент, то и необходимо инициализировать именно КАЖДЫЙ, "весь" массив никак не инициализируется ) а очень хочется, но нельзя ))

PS у вас же класс, можно написать к нему метод, что выше и преложено
alsav22
5415 / 4811 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.12.2013, 04:08     Выделение памяти под массив объектов #6
Удалил.
Yandex
Объявления
18.12.2013, 04:08     Выделение памяти под массив объектов
Ответ Создать тему
Опции темы

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