C# 运算符重载是怎么一回事,一般哪里用,起什么作用?
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/06/24 17:30:02
C# 运算符重载是怎么一回事,一般哪里用,起什么作用?
请达人通俗阐述,并加以示例,
请达人通俗阐述,并加以示例,
![C# 运算符重载是怎么一回事,一般哪里用,起什么作用?](/uploads/image/z/3646388-20-8.jpg?t=C%23+%E8%BF%90%E7%AE%97%E7%AC%A6%E9%87%8D%E8%BD%BD%E6%98%AF%E6%80%8E%E4%B9%88%E4%B8%80%E5%9B%9E%E4%BA%8B%2C%E4%B8%80%E8%88%AC%E5%93%AA%E9%87%8C%E7%94%A8%2C%E8%B5%B7%E4%BB%80%E4%B9%88%E4%BD%9C%E7%94%A8%3F)
+-*/这样的运算符重定义,比如你自定义了一个类a,然后你可以自己重载它的这些运算符,比如+返回什么,-返回什么等等.
public class a{
public string t{get;set;}
public static a operator +(a a1,a a2)
{
a b=new a();
b.t=a1.t+a2.t;
return b;
}
}
大概这个意思.
再问: 大侠,说真的没看明白,能不能更通俗点
再答: 像这样,如你现在创建了一个自定义类叫 苹果,正常情况下,如果你定义二个变量 苹果A和苹果B实例化它们,然后你想知道 苹果A-苹果B 能得到什么,默认这二个变量是不能直接运算的,如果你要实现 苹果 类的 "-" 运算,那么你必须重载它的 运算符"-",然后自己在里面实现你的操作。 比如 你可以实现说两个不同的菜果相减返回一个烂苹果或返回null
再问: 大侠,能否就你说的这个苹果类,对其的“-”运算符进行重载,结果得出两个苹果的质量差,烦请您在写出这个Demo,最好写详细点,加个注释什么的,谢谢了,就当带个徒弟咯, (*^__^*) 嘻嘻……
再答: public class Apple{ public decimal Weight{get;set;} public static decimal operator +(Apple a1, Apple a2) { return a1.Weight-a2.Weight; } } Apple a=new Apple{Weight=200}; Apple b=new Apple{Weight=300}; Console.Write(b-a); 试试这个可以不。
再问: 谢谢,为了这个问答更完美,我修改下回答者得一些疏漏: 上面代码第三行应该是“-”号,更正下 public static decimal operator - (Apple a1, Apple a2) 下面这三句应该放在Main()函数中,这样就完美了 --------------------------------- Apple a=new Apple{Weight=200}; Apple b=new Apple{Weight=300}; Console.Write(b-a); --------------------------------
public class a{
public string t{get;set;}
public static a operator +(a a1,a a2)
{
a b=new a();
b.t=a1.t+a2.t;
return b;
}
}
大概这个意思.
再问: 大侠,说真的没看明白,能不能更通俗点
再答: 像这样,如你现在创建了一个自定义类叫 苹果,正常情况下,如果你定义二个变量 苹果A和苹果B实例化它们,然后你想知道 苹果A-苹果B 能得到什么,默认这二个变量是不能直接运算的,如果你要实现 苹果 类的 "-" 运算,那么你必须重载它的 运算符"-",然后自己在里面实现你的操作。 比如 你可以实现说两个不同的菜果相减返回一个烂苹果或返回null
再问: 大侠,能否就你说的这个苹果类,对其的“-”运算符进行重载,结果得出两个苹果的质量差,烦请您在写出这个Demo,最好写详细点,加个注释什么的,谢谢了,就当带个徒弟咯, (*^__^*) 嘻嘻……
再答: public class Apple{ public decimal Weight{get;set;} public static decimal operator +(Apple a1, Apple a2) { return a1.Weight-a2.Weight; } } Apple a=new Apple{Weight=200}; Apple b=new Apple{Weight=300}; Console.Write(b-a); 试试这个可以不。
再问: 谢谢,为了这个问答更完美,我修改下回答者得一些疏漏: 上面代码第三行应该是“-”号,更正下 public static decimal operator - (Apple a1, Apple a2) 下面这三句应该放在Main()函数中,这样就完美了 --------------------------------- Apple a=new Apple{Weight=200}; Apple b=new Apple{Weight=300}; Console.Write(b-a); --------------------------------
C# 运算符重载是怎么一回事,一般哪里用,起什么作用?
C++中为什么要用输入输出运算符重载,有什么作用?.急用.新手不懂!
如何将运算符重载函数重载成一般函数形式
用C++语言 定义复数类complex,使用成员函数重载运算符+-,使用友元函数重载运算符.
DtuList = new Dictionary(); 在C#里起什么作用
C++运算符重载什么意思啊、、看不懂.麻烦说通俗点,3Q!
怎么实现计算器中的混合运算"+-*/()",用C#语言
手机监控起什么作用,怎么用
题目一般在文中起什么作用
句子中的“了”一般起什么作用
省略号一般在文中起什么作用
运算符重载为成员函数或全局函数怎么从形式上来判断呢?友元函数呢?