/
n-dimens
/
pascalabcnet
Обзор
Документация
Войти
/
n-dimens
/
pascalabcnet
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
3.0
InstallerSamples/LanguageFeatures/FracOperatorOverload.pas
36 строк
922 B
Бондарев Иван
initial commit
14 май 2015, 22:35
14 май 2015, 22:35
e6e67c1
Код
Авторство
О чём код?
// ���������� ��������. ����� "�����" type Frac = record private n,m: integer; public constructor (n,m: integer); begin Self.n := n; Self.m := m; end; class function operator+(f1,f2: Frac): Frac; // �������� ������������� ��� ��������� ������� begin Result.n := f1.n*f2.m+f1.m*f2.n; Result.m := f1.n*f1.m; end; class function operator-(f1,f2: Frac): Frac; begin Result.n := f1.n*f2.m-f1.m*f2.n; Result.m := f1.n*f1.m; end; function ToString: string; override; // ��������� �������������� ��� ������� ����� �������� ���������� ���� Frac � write begin Result := Format('{0}/{1}',n,m); end; end; var f,f1: Frac; begin f := new Frac(2,3); f1 := new Frac(1,2); writelnFormat('{0} + {1} = {2} ',f,f1,f+f1); // f+f1 ����������� ������������ � Frac.operator+(f,f1) writelnFormat('{0} - {1} = {2} ',f,f1,f-f1); end.