操作符重載,實際是定義了一個操作符函數,操作符函數聲明的格式如下:
static public 函數返回類型 operator 重新定義的操作符(新參表)
1.C#中可重載的操作符:
+、-、!、~、++、--、true、false、*、/ 、%、&、|、^、<<、>>、==、!=、>、<、>=、<=等;
2.不允許重載的操作符:
=、&&、||、? : 、new、typeof、sizeof、is等;
using System;
class Complex{
private double r;
private double i;
public Complex(double x,double y){
r=x;
i=y;
}
static public Complex operator -(Complex a){ //重載一元操作符負號,注意一個參數;
return (new Complex(-a.r, -a.i);
}
static public Complex operator +(Complex a, Complex b){ //重載二元元操作符加號
return (new Complex(a.r+b.r, a.i+b.i);
}
}