DELPHI8操作符重载的例子

2016-02-19 15:15 7 1 收藏

给自己一点时间接受自己,爱自己,趁着下午茶的时间来学习图老师推荐的DELPHI8操作符重载的例子,过去的都会过去,迎接崭新的开始,释放更美好的自己。

【 tulaoshi.com - 编程语言 】

unit WinForm;interfaceuses System.Drawing, System.Collections, System.ComponentModel, System.Windows.Forms, System.Data;type TWinForm = class(System.Windows.Forms.Form) {$REGION 'Designer Managed Code'} strict private  /// summary  /// Required designer variable.  /// /summary  Components: System.ComponentModel.Container;  Button1: System.Windows.Forms.Button;  /// summary  /// Required method for Designer support - do not modify  /// the contents of this method with the code editor.  /// /summary  procedure InitializeComponent;  procedure Button1_Click(sender: System.Object; e: System.EventArgs); {$ENDREGION} strict protected  /// summary  /// Clean up any resources being used.  /// /summary  procedure Dispose(Disposing: Boolean); override; private  { Private Declarations } public  constructor Create; end; //写成类也可以,这里我用了记录。由于记录是值类型省去了创建实例的麻烦 TClassTest=record public  FA:Integer;  //重载了+操作符  class operator add(A,B:TClassTest):TClassTest; end; [assembly: RuntimeRequiredAttribute(TypeOf(TWinForm))]implementation{$REGION 'Windows Form Designer generated code'}/// summary/// Required method for Designer support -- do not modify/// the contents of this method with the code editor./// /summaryprocedure 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 // Self.AutoScaleBaseSize := System.Drawing.Size.Create(6, 14); Self.ClientSize := System.Drawing.Size.Create(560, 357); Self.Controls.Add(Self.Button1); Self.Name := 'TWinForm'; Self.Text := 'WinForm'; Self.ResumeLayout(False);end;{$ENDREGION}procedure TWinForm.Dispose(Disposing: Boolean);begin if Disposing then begin  if Components  nil then   Components.Dispose(); end; inherited Dispose(Disposing);end;constructor TWinForm.Create;begin inherited Create; // // Required for Windows Form Designer support // InitializeComponent; // // TODO: Add any constructor code after InitializeComponent call //end;procedure TWinForm.Button1_Click(sender: System.Object; e: System.EventArgs);var A,B,C:TClassTest;begin A.FA :=1; B.FA :=2; C:=A+B; //两个结构(或者类)用+操作,在DELHI8以前是不可想象的 system.Windows.Forms.MessageBox.Show(System.Convert.ToString(C.FA) );end;{ TClassTest }//重载+操作符的实现class operator TClassTest.add(A, B: TClassTest): TClassTest;begin Result.FA:=A.FA + B.FA;end;end.

来源:http://www.tulaoshi.com/n/20160219/1609219.html

延伸阅读
标签: SQLServer
  cube操作符 要使用cube,首先要了解group by 其实cube和rollup区别不太大,只是在基于group by 子句创建和汇总分组的可能的组合上有一定差别, cube将返回的更多的可能组合。如果在 group by 子句中有n个列或者是有n个表达式的话, sqlserver在结果集上会返回2的n-1次幂个可能组合。 注意: 使用cube操作符时,最多可以有10个分组表达...
为什么operator=操作符返回引用 赵湘宁 问题:        MSDN文档中解释到:operator=操作符缺省情况下返回引用—— TYPE& TYPE::operator=(const TYPE&) 为什么呢?我对此的理解...
标量(scalar)数据类型 标量(scalar)数据类型没有内部组件,他们大致可分为以下四类: . number . character . date/time . boolean 表1显示了数字数据类型;表2显示了字符数据类型;表3显示了日期和布尔数据类型。 表1 Scalar Types:Numeric Datatype Range Subtypes description BINARY_INTEGER...
1、using 按照msdn的解释: using 语句定义一个范围,在此范围的末尾将处理对象。 举例: class TestUsing:IDisposable { public void Dispose() { Console.WriteLine("Dispose"); } public void Method() { Console.WriteLine("Do a method"); } } 调用这个类: using(TestUsing tu...
目前为止最好的Delphi 8 for .Net书籍 《Delphi 8 for .Net Unleashed》? 不可能是这本。因为自《Delphi 4 Unleashed》之后,Charlie Calvert就已封笔,不再继续该系列的写作了。但《DelphiX编程技术内幕》给我们留下了深刻印象,我至今还常常到作者的网站(http://www.elvenware.com/charlie/)去瞄几眼。Charlie Calvert目前...

经验教程

297

收藏

34
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部