C# 快速導覽 - 運算子多載
- Get link
- X
- Other Apps
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_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 |
您可以繼續參考
類別
- 方法多載
- 建構子
- 解構子
- 權限修飾詞
- private 建構子
- partial 類別
- static 類別及成員
- static 建構子
- 巢狀類別
- 繼承
- 改寫父類別的方法
- abstract 類別
- virtual 成員
- sealed 類別與成員
- readonly 成員
- const 成員
- extern 外部方法
- delegate 委派
- 運算子多載
- 索引子
相關目錄
回 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;

- Get link
- X
- Other Apps
沒有留言:
張貼留言