操作符重载,实际是定义了一个操作符函数,操作符函数声明的格式如下:
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);
}
}