unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, System.ComponentModel, Borland.Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  TLiczba = class
    public
      Wartosc :Double;
      class operator Add(skladnik1,skladnik2: TLiczba): TLiczba;
  end;

var
  Form1: TForm1;

implementation

{$R *.nfm}

class operator TLiczba.Add(skladnik1,skladnik2: TLiczba): TLiczba;
begin
Result:=TLiczba.Create;
Result.Wartosc:=skladnik1.Wartosc+skladnik2.Wartosc;
end;

procedure TForm1.Button1Click(Sender: TObject);
var x,y,z :TLiczba;
begin
x:=TLiczba.Create;
y:=TLiczba.Create;
x.Wartosc:=1;
y.Wartosc:=2;
z:=x+y;
ShowMessage(z.Wartosc.ToString);
end;

end.
