Перегрузка операций: различия между версиями
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Mikst (обсуждение | вклад) (Новая: == Ссылки == *Особенности языка: продвинутый уровень *[http://pascalabc.net/ru/bazovyie-osobennosti-yazyika-i-bibliotek.html Сайт PascalAB...) |
Mikst (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
<source lang="Delphi">type | |||
Frac = record | |||
private | |||
num,denom: integer; | |||
public | |||
constructor (n,d: integer); | |||
begin | |||
num := n; | |||
denom := d; | |||
end; | |||
class function operator+(a,b: Frac): Frac; | |||
begin | |||
Result := new Frac(a.num*b.denom+b.num*a.denom,a.denom*b.denom); | |||
end; | |||
function ToString: string; override; | |||
begin | |||
Result := Format('{0}/{1}',num,denom); | |||
end; | |||
end; | |||
var | |||
f := new Frac(1,2); | |||
f1 := new Frac(3,5); | |||
begin | |||
writelnFormat('{0} + {1} = {2}',f,f1,f+f1); | |||
end.</source> | |||
== Ссылки == | == Ссылки == | ||
*[[Особенности языка: продвинутый уровень]] | *[[Особенности языка: продвинутый уровень]] | ||
*[http://pascalabc.net/ru/bazovyie-osobennosti-yazyika-i-bibliotek.html Сайт PascalABC.NET: Особенности языка] | *[http://pascalabc.net/ru/bazovyie-osobennosti-yazyika-i-bibliotek.html Сайт PascalABC.NET: Особенности языка] |
Версия от 22:23, 15 января 2010
type
Frac = record
private
num,denom: integer;
public
constructor (n,d: integer);
begin
num := n;
denom := d;
end;
class function operator+(a,b: Frac): Frac;
begin
Result := new Frac(a.num*b.denom+b.num*a.denom,a.denom*b.denom);
end;
function ToString: string; override;
begin
Result := Format('{0}/{1}',num,denom);
end;
end;
var
f := new Frac(1,2);
f1 := new Frac(3,5);
begin
writelnFormat('{0} + {1} = {2}',f,f1,f+f1);
end.