pascalabcnet/InstallerSamples/LanguageFeatures/Students.pas

22 lines
700 B
ObjectPascal
Raw Permalink Normal View History

// Перегрузка операторов
2015-05-14 22:35:07 +03:00
type
Student = auto class
2015-05-14 22:35:07 +03:00
Name: string;
Height: integer;
public
// Сравнение по росту
class function operator<(left,right: Student): boolean := left.Height < right.Height;
class function operator>(left,right: Student): boolean := left.Height > right.Height;
function ToString: string; override := string.Format('{0} ({1})', Name, Height);
2015-05-14 22:35:07 +03:00
end;
begin
var s1 := new Student('Stepa Morkovkin',188);
var s2 := new Student('Petya Pomidorov',180);
2015-05-14 22:35:07 +03:00
Writeln('s1: ',s1);
Writeln('s2: ',s2);
Writeln;
Writeln('s1<s2: ',s1<s2);
//
Writeln('Student.operator>(s1,s2): ',Student.operator>(s1,s2));
end.