舉例如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | 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); } } /* 《程式語言教學誌》的範例程式 檔名:class30.cs 功能:示範 C# 程式 作者:張凱慶 時間:西元 2013 年 6 月 */ |
此例是自訂處理複數的 Complex 類別 (class) ,然後多載加號 + 運算子,使其符合複數的加法
10 11 12 | 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: 運算子多載化教學課程
沒有留言:
張貼留言