Форум программистов, компьютерный форум, киберфорум
C++/CLI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/16: Рейтинг темы: голосов - 16, средняя оценка - 5.00
13 / 13 / 3
Регистрация: 28.04.2009
Сообщений: 62

Динамический массив в классе

31.08.2010, 06:16. Показов 3146. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть два класса С1 и С2. С1 должен содержать неизвестное количество экземпляров С2.

C++
1
2
3
4
5
6
7
8
9
10
ref class C2{
   public:
        int a;
};
 
ref class C1{
   public:
        ArrayList <C2^ > ^c;
        C1(void){;}
}


error C2059: синтаксическая ошибка: <
error C2238: непредвиденные лексемы перед ";"
error C2065: c: необъявленный идентификатор
error C2059: синтаксическая ошибка: ;
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.08.2010, 06:16
Ответы с готовыми решениями:

Можно ли в классе создавать массив переменной длинны. Например динамический массив?
Динамические массивы привлекают больше. :)

Динамический массив в классе
Здравствуйте! Я пишу программу, в ней мне необходимо сделать иерархию, и в произвольных классах сделать контейнер - динамический массив....

Динамический массив в классе
#include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;cmath&gt; using namespace std; class Matrix { int **matrix; int i,...

8
1080 / 1007 / 107
Регистрация: 28.02.2010
Сообщений: 2,889
31.08.2010, 06:48
Эээээ.... Что-то я первый раз вижу такие конструкции. Мне кажется этот исходник написан на Java, а не на языке C++.
0
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
31.08.2010, 07:59
Неясно, как это требуется оформить...
я обычно делаю примерно так
C++
1
2
3
4
5
6
7
8
9
10
11
class C2{
   public:
        int a;
};
class C1{
   public:
      C2 * lpC;
      C1(int t){lpC = new C2[t];}
      ~C1(){delete lpC;}
 
};
0
 Аватар для HIMen
4340 / 1509 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
31.08.2010, 14:03
Voron8, выложи полный код, может у тебя ns не раскрыто
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
31.08.2010, 15:43
Евгений М., это не С++, а C++/CLI(очевидно...).
0
31.08.2010, 18:00

Не по теме:

очевидно, но без учета раздела, как всегда впрочем

0
13 / 13 / 3
Регистрация: 28.04.2009
Сообщений: 62
31.08.2010, 23:43  [ТС]
Среди инициации формы есть такая строка
C++
1
this->listBox1->Items->AddRange(gcnew cli::array< System::Object^>(3){L"Text1", L"Text2", L"Text3"});
Хотелось бы нечто подобное....


Полный вариант
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
ref class Oper{
    public:
        int Num;
        System::String^ Name;
        System::String^ Equipment;
        System::String^ CPY;
 
    public:
        Oper(void){
            Num=1;
            Name="2";
            Equipment="3";
            CPY="4";
        }
               ~Oper(){};
 
 
};
 
ref class Data{
    public:
        System::String^ Pressmark;
        System::String^ Name;
        System::String^ Material;
        System::String^ ARh;
        System::String^ Product;
        ArrayList <Oper^ > ^c;
 
;
 
         
    public:
        Data(void){
            Pressmark="1";
            Name="2";
            Material="3";
            ARh="4";
            Product="5";
            c= gcnew (cli::array(3));
        }
        ~Data(){};
 
 
 
};
 
;*/


Добавлено через 1 час 44 минуты
Т.е. почему я немогу объявить
C++
1
List<Oper^> c
или
C++
1
ArrayList <Oper^ > ^c
0
Заблокирован
01.09.2010, 00:51
Цитата Сообщение от Voron8 Посмотреть сообщение
Есть два класса С1 и С2. С1 должен содержать неизвестное количество экземпляров С2.

C++
1
2
3
4
5
6
7
8
9
10
ref class C2{
   public:
        int a;
};
 
ref class C1{
   public:
        ArrayList <C2^ > ^c;
        C1(void){;}
}


error C2059: синтаксическая ошибка: <
error C2238: непредвиденные лексемы перед ";"
error C2065: c: необъявленный идентификатор
error C2059: синтаксическая ошибка: ;

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
27
28
using namespace System;
using namespace System::Collections::Generic;
 
ref class C2{
    public:
        int a;
        C2(int x) { a = x; }
};
 
ref class C1{
    public:
        List<C2^>^ c;
        C1() { c = gcnew List<C2^>(); }
};
 
int main()
{
    C1^ obj = gcnew C1();
 
    obj->c->Add(gcnew C2(5));
    obj->c->Add(gcnew C2(10));
    obj->c->Add(gcnew C2(15));
 
    for each(C2^ c2obj in obj->c)
        Console::WriteLine(c2obj->a);
 
    return 0;
}
1
13 / 13 / 3
Регистрация: 28.04.2009
Сообщений: 62
01.09.2010, 02:21  [ТС]
Добавление "using namespace System; using namespace System::Collections::Generic;" не дало желаемого эффекта((
Помог перенос включаемого файла из начала в конец.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.09.2010, 02:21
Помогаю со студенческими работами здесь

Динамический массив в классе
Вот сделал функцию для заполнения массива void rand_vvod(int a1, int b1, int Size1, float *masiv1). А когда вызывать что вместо float...

Динамический массив в классе
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;conio.h&gt; using namespace std; class person{ string name; int year; ...

Динамический массив в классе
Существует пример создания динамического двумерного массива: float **Matrix = new float*; for(i = 0; i &lt;SizeOfMatrix;i++) { ...

Динамический массив в классе
Запускается, но вылетает на строке x=k; значения передаются нормально #include &lt;iostream&gt; #include&lt;conio.h&gt; ...

Динамический массив в классе
В отладчике после вызова метода showArr происходит краш. В чём ошибка, не пойму. Спасибо. #include &lt;iostream&gt; #include...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru