DELPHI8操作符重載的例子

字號:

unit WinForm;
    interface
    uses
    System.Drawing, System.Collections, System.ComponentModel,
    System.Windows.Forms, System.Data;
    type
    TWinForm = class(System.Windows.Forms.Form)
    {$REGION \'Designer Managed Code\'}
    strict private
    ///
    /// Required designer variable.
    ///

    Components: System.ComponentModel.Container;
    Button1: System.Windows.Forms.Button;
    ///
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    ///

    procedure InitializeComponent;
    procedure Button1_Click(sender: System.Object; e: System.EventArgs);
    {$ENDREGION}
    strict protected
    ///
    /// Clean up any resources being used.
    ///

    procedure Dispose(Disposing: Boolean); override;
    private
    { Private Declarations }
    public
    constructor Create;
    end;
    //寫成類也可以,這里我用了記錄。由于記錄是值類型省去了創(chuàng)建實(shí)例的麻煩
    TClassTest=record
    public
    FA:Integer;
    //重載了“+”操作符
    class operator add(A,B:TClassTest):TClassTest;
    end;
    [assembly: RuntimeRequiredAttribute(TypeOf(TWinForm))]
    implementation
    {$REGION \'Windows Form Designer generated code\'}
    ///
    /// Required method for Designer support -- do not modify
    /// the contents of this method with the code editor.
    ///

    procedure TWinForm.InitializeComponent;
    begin
    Self.Button1 := System.Windows.Forms.Button.Create;
    Self.SuspendLayout;
    //
    // Button1
    //
    Self.Button1.Location := System.Drawing.Point.Create(96, 88);
    Self.Button1.Name := \'Button1\';
    Self.Button1.Size := System.Drawing.Size.Create(392, 112);
    Self.Button1.TabIndex := 0;
    Self.Button1.Text := \'Button1\';
    Include(Self.Button1.Click, Self.Button1_Click);
    //
    // TWinForm
    //