Хранение экз классов в ArrayList С++ ТУЕ
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Хранение экз классов в ArrayList С++ ТУЕ Expand / Collapse
Автор
Сообщение
21.03.2007 18:17
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 06.12.2007 15:50
Сообщ.: 63, Visits: 589

 в среде NET будь то VB NET или C++ есть коллекция ArrayList

Пишешь  на VB  без проблем

Dim coll As New ArrayList, w As Book    'экземпляр класса  Book

For i = 0 To n

       Dim w As New Служаший(nm(i), i+100)

        coll.Add(w)

next i

coll(3).Оклад(); //далее без проблем у любого элемента коллекции вызываешь метод класса

                           //несм на то что это элем коллекции , он автом преобразуется к типу  класса

 

На С++ подобное у меня вызывает ряд проблем

using namespace System;

using namespace System::Collections;  //

…..

book * b; ArrayList * st;

for (int i=0;i<5;i++)

            {

      b=new book("title",i+100);

              st->Add(b);

            }

То компилятор выдаёт ошибку

Add' : cannot convert parameter 1 from 'book *' to 'System::Object __gc *'

 

Как то надо видно преобразовать экземпляр класса к System::Object ?

Сообщ. #911729
21.03.2007 21:32
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 23.08.2008 19:49
Сообщ.: 1 577, Visits: 17 092
Это для NET 2.0 Другого у меня нет под рукой.

using namespace System;

using namespace System::Collections::Generic;

ref class book {

public:

int a;

};

int main(array<System::String ^> ^args)

{

book^ b = gcnew book();

List<book ^>^ st = gcnew List<book ^>();

b->a = 555;

st->Add(b);

Console::WriteLine(st[0]->a);

return 0;

}

Сообщ. #911737
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 7:05