Автор: -QDe5n1K- 12.04.2005 18:18
Возникла небольшая трудность.
В программе необходимо использовать копирующий конструктор класса, а котором одно из полей - указатель на начало двунаправленного списка.
Код
type PAL=^Al;
Al=record
numb:string[5];
name:string;
adress:string;
next:pal;
end;
PIL=^Il;
Il=record
ind:string;
next:pil;
Ablist:pal;
end;
TPhInd=class(TObject)
inl:pil;
.............
constructor create(TPI:TPhInd); overload;
end;
implementation
.......
Помогите пожалуйста это сделать.
Спасибо.
Автор: volvo 12.04.2005 18:38
Цитата(-QDe5n1K- @ 12.04.05 14:18)
а котором одно из полей - указатель на начало двунаправленного списка.
Сколько не искал - не нашел ни одного указателя на
двунаправленный список...
А вообще-то, я бы использовал копирующий конструктор
самого списка:
Код
constructor tlist.copy(var l: tlist);
var p: ptitem;
begin
first := nil; last := nil;
p := l.first;
while p <> nil do
begin
append(p^.info);
p := p^.next;
end;
end;
ну, а потом в твоем конструкторе просто:
Код
constructor PhInd.create(TPI:TPhInd);
begin
...
new(inl, copy(TPI^));
end;
Автор: -QDe5n1K- 12.04.2005 18:56
Да блин, не двунаправленный, а список списков Всегда оговариваюсь
Сейчас попробую...
Автор: -QDe5n1K- 18.04.2005 14:16
Огроиное спасибо, все получилось.
Автор: iriska_2 19.05.2007 21:38
а ты не мог бы выложить то,что получилось, а то мне тоже надо это написать и не получается(