C#的重载运算符是什么意思啊,这里有个示例,求解释

初学者,没怎么看教程,求谅解

namespace OperatorOverride
{
class Program
{
static void Main(string[] args)
{
int tempCount = 10;

Number num = new Number();
Number sum = new Number();
Number sub = new Number();

Console.WriteLine("原始数字为:-->{0}", num.count);

//使用加法操作符重载
sum = sum + tempCount;
//使用减法
sub = sub - tempCount;

Console.WriteLine("加上10之后的数字为-->{0}", sum.count);
Console.WriteLine("加上10之后的数字为-->{0}", sub.count);

Console.ReadLine();
}
class Number
{
public int count;
public Number()
{
count = 20;
}
//定义加法的操作符重载
public static Number operator +(Number n, int num)
{
int tempCount = n.count + num;

Number num1 = new Number();
num1.count = tempCount;
return num1;
}
//定义减法的操作符重载
public static Number operator -(Number n, int num)
{
int tempCount = n.count - num;

Number num1 = new Number();
num1.count = tempCount;
return num1;
}
}
}
}

最好能一行一行的解释一下,特别是对Number的定义,new Number()是神马东西,定义操作符重载是干嘛的,最好能详细点啊

操作符重载在编程语言里是很有用的一个概念,默认情况下像 + - * / 这种符号是不能用作函数名的,只能在数字类型之间进行这种运算。有很多情况下我们希望自己定义的类也可以由这种运算,比如数学中的复数、点等等,两个相同的类之间的运算的结果还是应该是一个同类型的类嘛,所以不难理解里面的new了。
http://baike.baidu.com/view/1033032.htm追问

能不能详细点啊,我一点基础没有
运算符+-什么时候成函数名了
那个NEW是干什么用的嘛,还是没懂
后面对重载的定义也没懂,能不能详细点解释啊

追答

那你暂时不要学这么高深的了,你先学面向对象的基本知识,比如类、对象、构造函数之类的。

追问

我看的这本书就是把这些归到C#语言基础这一章里了
写个代码就算讲了这个知识,不怎么懂
那有没有什么快速上手的方法啊

追答

没有速成的方法,慢慢来吧。

追问

呜呜,好吧,那有没有基础教程的电子书啊,适合我这种没基础的
只学过VB

追答

见附件。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答