Вниз
Скачать: CL | DM;

Очередная несложная разминка для начинающих ;)   Найти похожие ветки 

 
MBo ©   (2002-05-24 12:03) [0]

Найти ошибку в реализации класса списка целых чисел
Предложить методы исправления.


TIntList=class(TList)
private
procedure SetInt(Index:Integer;Value:Integer);
function GetInt(Index:Integer):Integer;
public
property Items [index:Integer]:Integer read GetInt write SetInt; default;
procedure Add(Value:Integer);
end;

implementation

procedure TIntList.SetInt(Index:Integer;Value:Integer);
begin
inherited Items[Index]:=@Value;
end;

function TIntList.GetInt(Index: Integer): Integer;
begin
Result:=PInteger(inherited Items[Index])^;
end;

procedure TIntList.Add(Value:Integer);
begin
inherited Add( @Value);
end;



 
Виктор Щербаков ©   (2002-05-24 12:07) [1]

:-)))


 
MBo ©   (2002-05-24 12:12) [2]

>Виктор Щербаков
Реально встретилось, там еще кое-что было ;)


 
Alx2 ©   (2002-05-24 12:17) [3]

@Value - адрес в стэке :)


 
Кулюкин Олег ©   (2002-05-24 12:20) [4]

:))))))


 
MBo ©   (2002-05-24 12:23) [5]

>Alx2
на самом деле SetInt так и было, а Add так:
procedure TIntList.Add( VAR Value:Integer);


 
Alx2 ©   (2002-05-24 12:37) [6]

Борис, откуда выкопал этот "смелый" подход?


 
MBo ©   (2002-05-24 12:50) [7]

>Alx2
Спросили, почему компилируется, но не вполне работает ;)


 
Tonie ©   (2002-05-24 13:17) [8]

Класс %)))))



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
1-88855
kull
2002-06-17 15:00
2002.06.27
Как запустить процедуру после открытия модального окна?


1-88858
ec
2002-06-14 17:20
2002.06.27
Динамически создоваемые компоненты и их удаление


1-88830
snoup
2002-06-17 11:36
2002.06.27
Привет всем, как удалить программно с едита 2 символа при нажатии


8-88971
Диана
2002-02-16 12:30
2002.06.27
Заставка


1-88787
Polygon
2002-06-16 15:01
2002.06.27
Kylix и libpcap




   Наверх