IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Queue, VС++, .net
сообщение
Сообщение #1


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Как использовать очередь из элементов своего класса?
Т.е. типа STLовского queue <CBall> Ball;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик

Репутация: -  627  +


Что значит "как использовать"? Вот так:

Visual C++ .NET/Collections/queue

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Почему-то тот queue, который Collections::queue не такой хороший как тот queue, который Collections::Generic::queue lol.gif
И никто об этом почему-то не пишет.
Т.е., грубо говоря, в Collections::Generic есть те элементы Collections для которых можно использовать свой тип данных?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гуру
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик

Репутация: -  627  +


Цитата
Т.е., грубо говоря, в Collections::Generic есть те элементы Collections для которых можно использовать свой тип данных?
blink.gif

Еще раз можно сформулировать, "... кто на ком стоял?" (С) Собачье сердце

Как пример - .net-овская программа (PascalABC.NET), используется Collection.Generic.Queue с самописным классом. Программа компилируется и работает. Изменишь синтаксис - будет работать под VC.
Спойлер (Показать/Скрыть)
Тебе чего надо-то, расскажи?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Я.
****

Группа: Пользователи
Сообщений: 809
Пол: Мужской
Реальное имя: Саша

Репутация: -  11  +


Мне нужен был Collection.Generic.Queue, а этот код - как раз то, что нужно. good.gif
Проблема в том, что гугл на запрос "queue net" выдает http://msdn.microsoft.com/en-us/library/sy...ions.queue.aspx т.е. Collection.Queue, который не разрешает использовать свой тип (да?), а только текст. По крайней мере других примеров не нашел.
Короче Generic в .net - аналог шаблонов с++, а все остальное, "что не есть Generic" типизировать самостоятельно нельзя, да?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гуру
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской
Ада: Разработчик
Embarcadero Delphi: Сторонник
Free Pascal: Разработчик

Репутация: -  627  +


Цитата
Collection.Queue, который не разрешает использовать свой тип (да?), а только текст.
Не совсем. Туда можно запихать любой объект. То есть, вообще любой:

uses system.Collections;

type
MyType =
class
private
value : Integer;
public
constructor Create(v : Integer);
begin
value := v;
end;
function Get : Integer;
begin
Get := value;
end;
end;

var
qc : Queue;
t1, t2 : MyType;
f1, f2 : Double;
begin
qc := new Queue;
t1 := new MyType(1);
t2 := new MyType(2);
f1 := 11.4;
f2 := 12.5;
qc.Enqueue(t1);
qc.Enqueue(t2);
qc.Enqueue(f1);
qc.Enqueue(f2);

foreach X : object in qc do
if X is MyType then write(MyType(X).Get, ' ') else write(X, ' ');
end.

выведет
1 2 11.4 12.5 



А вот если тебе надо, чтоб можно было использовать только объекты определенного типа - то используются дженерики.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 22.06.2024 2:36
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name