fpc/tests/test/tmshlp6.pp
2019-05-10 14:04:45 +00:00

38 lines
648 B
ObjectPascal

{ %NORUN }
{$mode objfpc}
{$modeswitch multihelpers}
program tmshlp6;
type
TMyObject = class
m_num: integer;
property num1: integer read m_num;
end;
THelperBase = class helper for TMyObject
function GetNum: integer;
end;
THelper1 = class helper(THelperBase) for TMyObject
property num2: integer read GetNum;
end;
THelper2 = class helper(THelperBase) for TMyObject
property num3: integer read GetNum;
end;
function THelperBase.GetNum: integer;
begin
result := m_num;
end;
var
obj: TMyObject;
num: integer;
begin
obj := TMyObject.Create;
// 2^3
obj.m_num := 2;
num := obj.num1 * obj.num2 * obj.num3;
writeln(num);
end.