pascalabcnet/TestSamples/CompilationSamples/TemplPair.pas
Бондарев Иван e6e67c193c initial commit
2015-05-14 21:35:07 +02:00

33 lines
612 B
ObjectPascal

type
Pair<T, Q> = template class
public
first: T;
second: Q;
constructor; overload;
begin
end;
constructor(_t: T; _q: Q); overload;
begin
first := _t;
second := _q;
end;
function ToString: string; override;
begin
result := first.ToString + ' ' + second.ToString;
end;
end;
var
a: Pair<integer, string>;
b: Pair<real, real>;
begin
a := new Pair<integer, string>;
b := new Pair<real, real>(2.71, 3.14);
a.first := 2;
a.first := a.first * a.first;
a.second := 'Hi!';
writeln(a.ToString);
writeln(b.ToString);
readln;
end.