Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
28
Task/Generic-swap/Pascal/generic-swap-1.pas
Normal file
28
Task/Generic-swap/Pascal/generic-swap-1.pas
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
program generictest;
|
||||
|
||||
{$mode objfpc}
|
||||
|
||||
type
|
||||
generic TSwap<T> = procedure (var a, b: T);
|
||||
|
||||
procedure Proc1(var a, b: integer);
|
||||
var
|
||||
temp: integer;
|
||||
begin
|
||||
temp := a;
|
||||
a := b;
|
||||
b := temp;
|
||||
end;
|
||||
|
||||
var
|
||||
S, T: integer;
|
||||
SwapInt: specialize TSwap<integer>;
|
||||
|
||||
begin
|
||||
S := 4;
|
||||
T := 3;
|
||||
SwapInt := @Proc1;
|
||||
writeln(S, T:2);
|
||||
SwapInt(S, T);
|
||||
writeln(S, T:2);
|
||||
end.
|
||||
23
Task/Generic-swap/Pascal/generic-swap-2.pas
Normal file
23
Task/Generic-swap/Pascal/generic-swap-2.pas
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
program generic_test;
|
||||
{$mode objfpc}{H+}
|
||||
uses
|
||||
SysUtils;
|
||||
|
||||
generic procedure GSwap<T>(var L, R: T);
|
||||
var
|
||||
Tmp: T;
|
||||
begin
|
||||
Tmp := L;
|
||||
L := R;
|
||||
R := Tmp;
|
||||
end;
|
||||
|
||||
var
|
||||
I, J: Integer;
|
||||
begin
|
||||
I := 100;
|
||||
J := 11;
|
||||
WriteLn('I = ', I, ', J = ', J);
|
||||
specialize GSwap<Integer>(I, J);
|
||||
WriteLn('I = ', I, ', J = ', J);
|
||||
end.
|
||||
Loading…
Add table
Add a link
Reference in a new issue