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

Можно ли в классе создавать массив переменной длинны. Например динамический массив? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.78
Андрей2011
29 / 23 / 2
Регистрация: 18.01.2011
Сообщений: 359
27.01.2012, 16:23     Можно ли в классе создавать массив переменной длинны. Например динамический массив? #1
Динамические массивы привлекают больше.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2012, 16:23     Можно ли в классе создавать массив переменной длинны. Например динамический массив?
Посмотрите здесь:

Динамический массив в классе C++
Создать динамический массив, любого простого типа (например: int, long, float, double) C++
[B] можно ли индексировать одномерный динамический массив с 1 [/B] C++
можно ли в с++ создавать массив строк? C++
Динамический массив в классе C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,108
27.01.2012, 16:25     Можно ли в классе создавать массив переменной длинны. Например динамический массив? #2
О, да!
ЗЫ Только поаккуратней, что бы с delete'ом в деструкторе.
Андрей2011
29 / 23 / 2
Регистрация: 18.01.2011
Сообщений: 359
27.01.2012, 16:44  [ТС]     Можно ли в классе создавать массив переменной длинны. Например динамический массив? #3
а как?

Добавлено через 2 минуты
Вот еще вопрос. если я массиву объектов присваиваю указатель на массив объектов....это правильно?
Ну т.е. мне нужно в массиве объектов хранить ссылки на объекты. чтоб не копировались. соотв. нужно интерпретировать с указателем, верно?
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
27.01.2012, 16:45     Можно ли в классе создавать массив переменной длинны. Например динамический массив? #4
Андрей2011, std::vector вам в руки.
Андрей2011
29 / 23 / 2
Регистрация: 18.01.2011
Сообщений: 359
27.01.2012, 16:47  [ТС]     Можно ли в классе создавать массив переменной длинны. Например динамический массив? #5
C++
1
2
3
4
5
6
7
8
TPoint Point[10],*p_Point;
p_Point = Point;
 
TPoint Mass[10];
for (i=0; i<10; i++)
{
   Mass[i] = p_Point[i]; //вот не задвоятся ли у меня объекты? Правильно ли я делаю?
}
Добавлено через 41 секунду
а да. вектор. точно. спасибо. а вот со вторым вопросом бы разобраться.
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
27.01.2012, 16:56     Можно ли в классе создавать массив переменной длинны. Например динамический массив? #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
 
class Test
{
    int *x;
 
public:
    Test(int number){x=new int[number];}
    ~Test(){delete []x;}
};
 
int main()
{
    Test *obj= new Test(10);
    delete obj;
    return 0;
}
Комментарии полагаю излишни или всё же нужны?
Андрей2011
29 / 23 / 2
Регистрация: 18.01.2011
Сообщений: 359
27.01.2012, 17:05  [ТС]     Можно ли в классе создавать массив переменной длинны. Например динамический массив? #7
аа таким же ровно макаром как и не в классе. понял. спасибо.

Добавлено через 1 минуту
а вот по поводу второго вопроса?
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
27.01.2012, 17:32     Можно ли в классе создавать массив переменной длинны. Например динамический массив? #8
Цитата Сообщение от Андрей2011 Посмотреть сообщение
аа таким же ровно макаром как и не в классе. понял. спасибо.
А с чего бы той же самой операции как-то отличаться
Цитата Сообщение от Андрей2011 Посмотреть сообщение
Вот еще вопрос. если я массиву объектов присваиваю указатель на массив объектов....это правильно?
А вот это Вы продемонстрируйте, а потом уже можно будет понять что именно у вас там получилось.
Андрей2011
29 / 23 / 2
Регистрация: 18.01.2011
Сообщений: 359
27.01.2012, 17:43  [ТС]     Можно ли в классе создавать массив переменной длинны. Например динамический массив? #9
C++
1
2
3
4
5
6
7
8
TPoint Point[10],*p_Point;
p_Point = Point;
 
TPoint Mass[10];
for (i=0; i<10; i++)
{
   Mass[i] = p_Point[i]; //вот не задвоятся ли у меня объекты? Правильно ли я делаю?
}
Добавлено через 44 секунды
Т.е. хочу сторонний массив уже созданных объектов. Но так хочу его заполнить чтоб оьъекты за ново не создавались а просто ссылки к ним запоминать.
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
27.01.2012, 17:53     Можно ли в классе создавать массив переменной длинны. Например динамический массив? #10
Андрей2011, естественно элементы будут копироваться в цикле. Mass у вас ведь обычный статический массив, ему пофиг на существование массивов указателей так что он будет в любом случае копировать значения.

Добавлено через 3 минуты
Если вам нужно сделать чтобы Mass указывал на ту же память что и p_Point то нужно всего лишь
C++
1
2
TPoint *Mass;
Mass = p_Point;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2012, 17:59     Можно ли в классе создавать массив переменной длинны. Например динамический массив?
Еще ссылки по теме:

C++ Динамический массив в классе
Двумерный динамический массив в классе. Зависание при вводе и вызове деструктора C++
C++ Создать динамический массив, собирающий значения переменной на каждой итерации цикла

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

Или воспользуйтесь поиском по форуму:
Андрей2011
29 / 23 / 2
Регистрация: 18.01.2011
Сообщений: 359
27.01.2012, 17:59  [ТС]     Можно ли в классе создавать массив переменной длинны. Например динамический массив? #11
спасибо
Yandex
Объявления
27.01.2012, 17:59     Можно ли в классе создавать массив переменной длинны. Например динамический массив?
Ответ Создать тему
Опции темы

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