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

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

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

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

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

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

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

Стандартные типы объектов в C++ и выделение памяти под них - C++
Всем здрасти :) У меня вот такой вопрос , а точнее даже вопросы ... допустим есть код : char *string = "ABC"; В данном случае , у...

Выделение памяти под массив - C++
в массиве данных хранять в последовательных ячейках памяти В программе, выделенна память под массив, для ввода данных пользователем. ...

Выделение памяти под массив - C++
Требуется выделить память под матрицу. Будет ли следующий код работать корректно? //глобальная область int x_size = 3; ...

Выделение памяти под двумерный массив - C++
Нужна прога на с++,в которой бы выделялась память для двумерного массива N строк такого вида,как на рисунке>>> За ранее спасибо:)

Динамическое выделение памяти под массив - C++
Доброго времени суток. Как реализовать динамическое выделение памяти под массив, к примеру размера n, при том, что значение этого n в...

5
Yanush
159 / 156 / 46
Регистрация: 28.09.2013
Сообщений: 288
Завершенные тесты: 1
17.12.2013, 22:28 #2
Слишком много *
C++
1
2
Shape *shapes;
shapes = new Shape[10];
1
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 объект(Я проверял)
0
Yanush
159 / 156 / 46
Регистрация: 28.09.2013
Сообщений: 288
Завершенные тесты: 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);
0
vitecd
18 / 1 / 0
Регистрация: 26.09.2013
Сообщений: 59
18.12.2013, 03:50 #5
тут просто необходимо пояснить, когда нужно инициализировать КАЖДЫЙ элемент, то и необходимо инициализировать именно КАЖДЫЙ, "весь" массив никак не инициализируется ) а очень хочется, но нельзя ))

PS у вас же класс, можно написать к нему метод, что выше и преложено
0
alsav22
5435 / 4830 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.12.2013, 04:08 #6
Удалил.
0
18.12.2013, 04:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2013, 04:08
Привет! Вот еще темы с ответами:

Выделение памяти под двумерный массив - C++
Доброе время ! Проблема такая : препод задал задачу сортировки массива произвольного типа(char* int* или double*) и сказал, чтобы любой тип...

Динамическое выделение памяти под массив - C++
Я хочу функцию использовать пару раз, количество команд будет уменьшаться, и &quot;n&quot; надо менять. Как написать не знаю. 12 или 13 строка. ...

Выделение памяти под массив структур - C++
Добрый день. Подскажите в чём ошибка. #pragma hdrstop #pragma argsused #include &lt;stdio.h&gt; #include &lt;iostream&gt; struct...

Выделение памяти под массив структур - C++
Возникла проблема в том что не могу никак эфективно реализовать выделение памяти под массив структур, более того: единожды выделив память я...


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

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

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