/
n-dimens
/
pascalabcnet
Обзор
Документация
Войти
/
n-dimens
/
pascalabcnet
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
CodeExamples/Typeclasses/Others/TypeclassExample.pas
27 строк
447 B
Voloshin Bogdan
Rearrange Typeclass examples
10 июн 2018, 22:20
10 июн 2018, 22:20
3446717
Код
Авторство
О чём код?
type SumTC[T] = typeclass function sum(v1, v2: T): T; end; SumTC[integer] = instance function sum(v1, v2: integer): integer; begin Result := v1 + v2; end; end; function Sum3<T>(v1, v2, v3: T): T; where SumTC[T]; begin Result := SumTC&[T].sum(v1, SumTC&[T].sum(v2, v3)); end; begin var v1, v2, v3, res: integer; v1 := 1; v2 := 2; v3 := 3; res := Sum3&[integer](v1, v2, v3); Write(res); end.