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  +


Цитата
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

 





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