C# 运算符重载是怎么一回事,一般哪里用,起什么作用?

[复制链接]
查看11 | 回复5 | 2011-3-6 23:36:18 | 显示全部楼层 |阅读模式
我觉得楼上两位说的很好,很明确了,我换一种方式解释一下。要回答楼主的问题,那么就要先明确2个概念,运算符,重载1 运算符运算符指的就是+、-、*、/ 等此类用于算术运算的符号,这些符号在写在程序代码里面,我们的编译器可以识别出来,是因为我们已经为编译器定义好了规矩(语法),所以你会发现有些有些东西可以用+连接,而有些却不行,那是因为系统没有自定这样的规矩。2 重载重载一个语言特性,意思就是说,编程语言允许存在多个个名字一样,但是参数不一样的方法(函数)。随手写写两个方法看看:int Add(int a,int b);double Add(double a,double b);我们定义了两个Add方法,但是他们的参数不一样...
回复

使用道具 举报

千问 | 2011-3-6 23:36:18 | 显示全部楼层
示例已经有人给了,我通俗地讲您通俗地听吧。咱们都知道1+1=2,是因为数学家是这么规定的,我们也是这么学的。而且只要您在地球上就不会有人来推翻这个结论,除非他很无知无聊。像这些普遍存在的规律已经被广大人民群众所接纳了,作为一门程序语言的设计者,他们肯定也会按照常识来设计语言。所以在任何一门语言中1+1=2都是成立的。程序能认识1跟2是两个数,还能认识...
回复

使用道具 举报

千问 | 2011-3-6 23:36:18 | 显示全部楼层
+-*/这样的运算符重定义,比如你自定义了一个类a,然后你可以自己重载它的这些运算符,比如+返回什么,-返回什么等等。public class a{
public string t{get;set;}
public static a operator +(a a1, a a2) {
a b=new a();...
回复

使用道具 举报

千问 | 2011-3-6 23:36:18 | 显示全部楼层
了个perator关键字, C#要求所有的运算符重载都声明为public和static...
回复

使用道具 举报

千问 | 2011-3-6 23:36:18 | 显示全部楼层
了个perator关键字, C#要求所有的运算符重载都声明为public和static...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行