//
二元运算符的参数之一必须是包含类型
// 参数有一个必须是所在类
// -======================================================
using System;
using System.Collections.Generic;
using System.Text;
namespace MyStudy
... {
class Program
...{
static void Main(string[] args)
...{
result r1 = new result(10, 20);
test r2 = new test();
result r = r1 + r2;
Console.WriteLine(r.i);
}
}
public class result
...{
public static result operator +(result c1, test c2) //参数有一个必须是所在类
...{
result t1 = new result(0, 0);
t1.i = c1.i + c2.i;
t1.j = c1.j + c2.j;
return t1;
}
public int i,j;
public result(int i,int j)
...{
this.i = i;
this.j = j;
}
}
public class test
...{
public int i=100, j=200;
}
}
// 参数有一个必须是所在类
// -======================================================
using System;
using System.Collections.Generic;
using System.Text;
namespace MyStudy
... {
class Program
...{
static void Main(string[] args)
...{
result r1 = new result(10, 20);
test r2 = new test();
result r = r1 + r2;
Console.WriteLine(r.i);
}
}
public class result
...{
public static result operator +(result c1, test c2) //参数有一个必须是所在类
...{
result t1 = new result(0, 0);
t1.i = c1.i + c2.i;
t1.j = c1.j + c2.j;
return t1;
}
public int i,j;
public result(int i,int j)
...{
this.i = i;
this.j = j;
}
}
public class test
...{
public int i=100, j=200;
}
}
此外
1,在对比较运算符号进行重载时,要求成对重载(==, !=)(>,<)(>=,<=)
2.比较运算符必须返回bool类型的值.