![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
-QDe5n1K- |
![]()
Сообщение
#1
|
Гость ![]() |
Возникла небольшая трудность.
В программе необходимо использовать копирующий конструктор класса, а котором одно из полей - указатель на начало двунаправленного списка. Код 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 |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата(-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- |
![]()
Сообщение
#3
|
Гость ![]() |
Да блин, не двунаправленный, а список списков
![]() ![]() Сейчас попробую... |
-QDe5n1K- |
![]()
Сообщение
#4
|
Гость ![]() |
Огроиное спасибо, все получилось.
|
iriska_2 |
![]()
Сообщение
#5
|
Гость ![]() |
а ты не мог бы выложить то,что получилось, а то мне тоже надо это написать и не получается(
|
![]() ![]() |
![]() |
Текстовая версия | 19.06.2025 10:41 |