|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Проверьте пж_контейнерный класс на базе динамического массива
думаю, что что-то тут не так..
Код:
TContainer = class private DynArrs : array of TFigure; // закрытое хранилище указателей динамический массив. Компилятор выделяет память только для переменной DynArrs, которая //является указателем на будущий массив. // на графические фигуры; count : integer; // текущее число объектов в контейнере capacity: integer; public constructor Create; function GetCount : integer; function Add (aFig : TFigure; ai : integer) : integer; function Delete (ai : integer) : integer; function Search (aFig : TFigure) : integer; procedure ShowAll; procedure MoveAll (dx, dy : integer); procedure FreeAll; end; Последний раз редактировалось snejinka, 29.11.2011 в 11:01. |
#2
|
||||
|
||||
Пока этот код ни о чём не говорит.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#3
|
|||
|
|||
Наследуйся от TObjectList и не мучай себя и Дельфи
Фактически, тебе потребуется перекрыть несколько методом, что бы типизировать их, и дописать свои специфические, если не хватает стандартных. |
#4
|
||||
|
||||
Единственное чем код ТС может оказаться хорош, так это не использовать VCL, но не похоже, что ТС это нужно.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#5
|
||||
|
||||
посмотри реализацию TList в Delphi:
Код:
TList = class(TObject) private FList: PPointerList; ... MaxListSize = Maxint div 16; PPointerList = ^TPointerList; TPointerList = array[0..MaxListSize - 1] of Pointer; легко увидеть, что внутри тоже используется массив. только в TList array of Pointer, а тебе нужно будет array of TFigure. вообще TList легко выдрать из Classes.pas и переделать под свой тип указателя. Пишу программы за еду. __________________ |