標籤:style blog http color ar 2014 div sp log
運算子多載要求:
重載的執行個體為:
要定義重載的類中定義如下:
1 class LimitedInt 2 { 3 const int MaxValue = 100; 4 const int MinValue = 0; 5 6 public static LimitedInt operator -(LimitedInt x) 7 { 8 LimitedInt li = new LimitedInt(); 9 li.TheValue = -x.TheValue;10 return li;11 }12 public static LimitedInt operator -(LimitedInt x,double y)13 {14 LimitedInt li = new LimitedInt();15 li.TheValue = x.TheValue - (int)y;16 return li;17 }18 19 private int _TheValue = 0;20 public int TheValue21 {22 get 23 {24 return _TheValue;25 }26 set27 {28 _TheValue = value;29 }30 }31 }
可見,第一個重載的運算子是單目運算子,-號
第二個還是 -號,但是是雙目運算子。
此時可以做如下調用:
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 LimitedInt x = new LimitedInt(); 6 x.TheValue = 13; 7 8 double y = 7; 9 10 LimitedInt li = new LimitedInt();11 12 li =x-y;13 14 Console.WriteLine("{0}",li.TheValue);15 16 li = -x;17 18 Console.WriteLine("{0}",li.TheValue);19 20 Console.ReadKey();21 }22 }
輸出為6和-13,可見操作正確。
C#運算子多載