http://www.adaconcept.com/programs/cserek.adb
with Ada.Text_IO;
with csere;
use Ada.Text_IO;
procedure cserek is
type fedonev is (Borisz,Dorisz);
procedure ugynok_csere is new csere(fedonev);
procedure csere(A: in out integer;B: in out integer) is
c:integer;
begin
c:=a;
a:=b;
b:=c;
end;
procedure csere(A: in out float;B: in out float) is
c:float;
begin
c:=a;
a:=b;
b:=c;
end;
i:integer:=7;
j:integer:=8;
k:float:=7.0;
l:float:=8.0;
b:fedonev:=Borisz;
d:fedonev:=Dorisz;
begin
Ada.Text_IO.Put_Line("Program indul");
csere(i,j);
if i=8 then put_line("jo :)");
else put_line("rossz");
end if;
csere(k,l);
if k=8.0 then put_line("jo :)");
else put_line("rossz");
end if;
ugynok_csere(b,d);
if d=Borisz then put_line("jo :)");
else put_line("rossz");
end if;
Ada.Text_IO.Put_Line("Program vege");
end cserek;