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

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

Войти
Регистрация
Восстановить пароль
 
CHELOVEKPAUK
13 / 3 / 2
Регистрация: 01.08.2013
Сообщений: 332
Записей в блоге: 1
#1

Выделение динамической памяти под массив из класса - C++

14.04.2014, 17:47. Просмотров 661. Ответов 2
Метки нет (Все метки)

Допустим, есть class c, и он включает в себя char-массив a:

C++
1
2
3
4
5
6
7
8
class c
{
private:
char a[50];
public:
c();
c(char* a);
}
Как динамически выделить память для массива во втором конструкторе? Если написать a = new char[50], то он пишет, что выражение должно быть допустимым для изменения левосторонним значением. Почему так, и как это правильно сделать? Подскажите пожалуйста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2014, 17:47
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Выделение динамической памяти под массив из класса (C++):

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

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

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

Выделение памяти под шаблон класса - C++
Здравствуйте, надеюсь это последняя тема от меня. А то что-то много вопросов последнее время. Очень надеюсь на помощь. Собственно, есть 2...

Динамическое выделение памяти под объект класса - C++
Помогите динамически выделить память под объект класса.

Двумерный массив в динамической памяти как поле класса - C++
Здравствуйте! Вот так можно описать двумерный массив в дин.памяти. class nameClass { public: MapPlaceTp ** roomMap; ...

2
newbie666
Заблокирован
14.04.2014, 17:56 #2
ты объявил этот массив как статический, переделать его в динамический нельзя
1
Кудаив
331 / 408 / 24
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
14.04.2014, 18:18 #3
или слегка поменять логику - всегда выделять память для массива динамически
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <cstring>
 
class c
{
private:
   char* _a;
public:
   c();
   c(const char* a)
   {
       _a = new char[strlen(a) + 1];
       strcpy(_a, a);
   }
   ~c(){ delete[] _a; }
};
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2014, 18:18
Привет! Вот еще темы с ответами:

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

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

Выделение памяти под шаблонный массив - C++
template &lt;class T&gt; T* arrray &lt;T&gt;::create (unsigned size) { //..... T* templateBuf = new T ; for (unsigned index = 0;...

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


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

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

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