C# 快速導覽 - 運算子多載






google_ad_client = "ca-pub-1277342310653446";
google_ad_host = "ca-host-pub-1556223355139109";
google_ad_host_channel = "L0004";
google_ad_slot = "7187368929";
google_ad_width = 728;
google_ad_height = 15;














google_ad_client = "ca-pub-1277342310653446";
google_ad_host = "ca-host-pub-1556223355139109";
google_ad_host_channel = "L0004";
google_ad_slot = "4683073635";
google_ad_width = 728;
google_ad_height = 90;












公告



《如何自學程式設計》入選 Google Play 台灣地區2016年度最佳書籍|本站於 Google Play 銷售電子書。
預計之後會調整本站內容,凡是有兩個版本的教材,舊版本將刪除。













google_ad_client = "ca-pub-1277342310653446";
google_ad_host = "ca-host-pub-1556223355139109";
google_ad_host_channel = "L0004";
google_ad_slot = "5435125940";
google_ad_width = 728;
google_ad_height = 15;


























C# 快速導覽 - 運算子多載






運算子 (operator) 視需要也可以多載 (overloading) ,就是以關鍵字 (keyword) operator 與運算子結合自訂一個 static 方法 (method) 。



舉例如下
public class Complex {
public int real;
public int imaginary;

public Complex(int real, int imaginary) {
this.real = real;
this.imaginary = imaginary;
}

public static Complex operator +(Complex c1, Complex c2) {
return new Complex(c1.real + c2.real, c1.imaginary + c2.imaginary);
}

public override string ToString() {
return(System.String.Format("{0} + {1}i", real, imaginary));
}

public static void Main() {
Complex num1 = new Complex(2, 3);
System.Console.WriteLine("num1: {0}", num1);

Complex num2 = new Complex(3, 4);
System.Console.WriteLine("num2: {0}", num2);

Complex sum = num1 + num2;
System.Console.WriteLine(" sum: {0}", sum);
}
}

/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:class30.cs
功能:示範 C# 程式
作者:張凱慶
時間:西元 2013 年 6 月 */



此例是自訂處理複數的 Complex 類別 (class) ,然後多載加號 + 運算子,使其符合複數的加法
public static Complex operator +(Complex c1, Complex c2) {
return new Complex(c1.real + c2.real, c1.imaginary + c2.imaginary);
}



編譯執行,結果如下



























中英文術語對照
運算子operator
多載overloading
關鍵字keyword
方法method
類別class



您可以繼續參考

類別




相關目錄

回 C# 快速導覽
回 C# 教材
回首頁



參考資料

Standard ECMA-334 C# Language Specification
msdn: 運算子多載化教學課程







沒有留言:




















window.___gcfg = { 'lang': 'zh-TW' };





google_ad_client = "ca-pub-1277342310653446";
google_ad_host = "ca-host-pub-1556223355139109";
google_ad_host_channel = "L0004";
google_ad_slot = "5963585466";
google_ad_width = 728;
google_ad_height = 15;











Popular posts from this blog

迅雷 Thunder 7.9.43.5054 免安裝版 (9.1.41.914 安裝版) - 支援BT下載的萬用 檔案下載工具

qBittorrent 4.1.1 免安裝中文版 - 取代uTorrent的BT下載器

Nhiều đồn đoán cho rằng bộ đồ "phá vỡ quy tắc" của Meghan Markle được lấy cảm hứng từ trang phục của Công nương Diana