Einschränkung: Ihr dürft nichts hinzufügen, sondern nur etwas entfernen. Und zwar genau 3 Zeichen.
Code: Alles auswählen
program Sphynx;
{$mode objfpc}{$H+}
type
{ TMyClass }
TMyClass = class
private
FField: string;
function GetFField: string;
procedure SetFField(const s: string);
public
procedure Clear; virtual;
procedure doSomething(const s: string); virtual;
property Field: string read GetFField write SetFField;
end;
{ TMyClass }
function TMyClass.GetFField: string;
begin
Result := FField;
end;
procedure TMyClass.SetFField(const s: string);
begin
FField := s;
end;
procedure TMyClass.Clear;
begin
FField := '';
end;
procedure TMyClass.doSomething(const s: string);
begin
Clear;
Field := s + s;
end;
var
m: TMyClass;
s: string;
begin
m := TMyClass.Create;
m.doSomething('Test');
WriteLn('"' + m.Field + '"');
m.doSomething(m.Field);
WriteLn('"' + m.Field + '"');
WriteLn('');
WriteLn('Hit return key to end the program');
ReadLn(s);
m.Free;
end.