C#操作符重载问题(谢谢各位大侠)

来源:百度知道 编辑:UC知道 时间:2024/06/30 06:30:44
C#操作符重载有什么作用 大侠们可以通俗的用个事例讲一下吗 顺便给个代码
MSDN有点抽象 没有看懂 在此谢谢了!!!

跟C++一样

类1
public class s1{}

类2
public class s2{}

我们要实现
s1的对象a1
s2的对象a2

要能使用加减乘除号

比如 a1+a2

那么就要用到操作符重载了。
public s1 operator + (s2 a)
{
//重载函数具体内容
}

重载加法
class Class1
{
private int _value = 0;
public static Class1 operator +(Class1 c1,Class1 c2)//运算符重载必须被声明为public和static
//重载加法,目标是用+直接计算c1+c2
{
Class1 c3 = new Class1();
c3._value = c1._value + c2._value + 10;//将加法重载为相加再加10
return c3;
}
public int Value
{
get
{
return _value;
}
set
{
_value = value;
}
}
public override string ToString()
{
return this._value.ToString();
}
}
调用的时候直接用c1+c2就可以计算出它们的_value变量的和再加10

1+1=2
2+2=4