运算符重载(OperatorOverloads)C#语言
来源:互联网 发布:漫威电影宇宙知乎 编辑:程序博客网 时间:2024/05/16 11:10
既然学到这儿了,就把运算符重载(OperatorOverloads)学明白。
以楚老师讲的一个例子为例
写一个矢量类(Vector),在定义三个类对象vect1、vect2、vect3。通过数学可以了解到向量之间是可以进行加法操作的。而你要直接写vect1+vect2编译器是会报错的,因为目前的编译器还没有做到那么智能,所以就需要人工进行重载的操作了,操作的对象是“+”。
二元运算符,第一个参数是放在参数左边的值一般命名为lhs,第二个参数一般命名为rhs.
下面是重载运算符”+“的核心代码
public static Vector operator +(Vector lhs, Vector rhs) { Vector result = new Vector(lhs); result.x += rhs.x; result.y += rhs.y; result.z += rhs.z; return result; }
重载好运算符后,下面是应用的地方
Vector vect1, vect2, vect3; vect1 = new Vector(1.0, 4.0, 3.0); vect2 = new Vector(vect1); vect3 = vect1 + vect2;
最后这个加号就可以执行两个向量之间的加法操作了。其实运算符重载(OperatorOverloads)就这么点事儿,理解理解,在看一些运算符重载(OperatorOveraloads)的规则,比如像重载比较运算符的时候(大于、小于)必须成对重载。然后就可以了。
0 0
- 运算符重载(OperatorOverloads)C#语言
- C#运算符重载
- C# - 运算符重载
- C#运算符重载
- c#运算符重载
- C# 运算符重载
- C#运算符重载
- C# 运算符重载
- C#运算符重载
- C#重载运算符
- C#运算符重载
- C#运算符重载
- C#运算符重载
- C#运算符重载
- C#运算符重载
- C#运算符重载
- C# 运算符重载
- C#运算符重载
- hdu - 2489 - Minimal Ratio Tree(枚举 + MST)
- 图的存储方式--邻接表法
- 5 分钟上手 Tmux
- UVA - 10130 SuperSale (01背包)
- 细说linux IPC(五):system V共享内存
- 运算符重载(OperatorOverloads)C#语言
- [LeetCode]Symmetric Tree
- 第13周项目1-数组大折腾-(4)
- C语言求Sn=1!+2!+3!+4!+5!+…+n!之和
- 使用Azure上的Azure AD服务管理Office 365账户(无缝打通Azure和Office 365)
- 编写最简单的内核:HelloWorld
- 机器学习之旅---奇异值分解
- undefined reference to `cvCreateCameraCapture_V4L(int)'
- Spirng基础知识之基于属性文件链接MySQL数据库的配置