舉例如下
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: 運算子多載化教學課程
沒有留言:
張貼留言