c#中的运算符重载
来源:互联网 发布:数据挖掘 算法和原理 编辑:程序博客网 时间:2024/05/21 21:50
- using System;
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace CountStrDemo
- {
- class 比较运算符重载
- {
- public static void Main(string[] args)
- {
- // 比较预算符有6个,3对 分别是:
- // == !=
- // > <
- // >= <=
- //成对重载,例如,重载了 == 则必须重载 != 反回类型必须是bool
- }
- class MyVectorForEq
- {
- public int x;
- public int y;
- public MyVectorForEq( int x , int y )
- {
- this.x = x;
- this.y = y;
- }
- //重载==运算符 同时必须成对重载 !=
- public static bool operator == ( MyVectorForEq lobj , MyVectorForEq robj )
- {
- //这里只是做了成员值的比较,ms推荐重写Equals方法与配合hash来进行对象内容的比较
- if (lobj.x == robj.x && lobj.y == robj.y)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- public static bool operator !=( MyVectorForEq lobj , MyVectorForEq robj)
- {
- if (lobj.x == robj.x && lobj.y == robj.y)
- {
- return false;
- }
- else
- {
- return true;
- }
- }
- }
- }
- }
- using System.Collections.Generic;
- using System.Text;
- namespace CountStrDemo
- {
- class 运算浮重载
- {
- public static void Main(string[] args)
- {
- Vector vec1 = new Vector( 5 , 6 , 7 );
- Vector vec2 = new Vector( 2 , 2 , 2 );
- Vector revec = vec1 + vec2;
- Console.WriteLine( "x={0} y={1} z={2}" , revec.x , revec.y , revec.z );
- Console.Read();
- }
- }
- class Vector
- {
- public int x;
- public int y;
- public int z;
- public Vector( int x , int y , int z )
- {
- this.x = x;
- this.y = y;
- this.z = z;
- }
- public Vector(Vector vec)
- {
- this.x = vec.x;
- this.y = vec.y;
- this.z = vec.z;
- }
- //定义重载 , 和方法类似,不过必须是public static ...可以记做没有方法名,呵呵operator + 指重载+号运算
- public static Vector operator + ( Vector lvec , Vector rvec )
- {
- Vector revec = new Vector( lvec );
- revec.x += rvec.x;
- revec.y += rvec.y;
- revec.z += rvec.z;
- return revec;
- }
- }
- }
-------------------------------------------------------------------------------------------------
- c#中的运算符重载
- C#中的运算符重载
- [C#基础]C#中的重载运算符
- 介绍 C# 中的运算符重载
- C#运算符重载
- C# - 运算符重载
- C#运算符重载
- c#运算符重载
- C# 运算符重载
- C#运算符重载
- C# 运算符重载
- C#运算符重载
- C#重载运算符
- C#运算符重载
- C#运算符重载
- C#运算符重载
- C#运算符重载
- C#运算符重载
- 【期待高手】C++类外调用“返回值为对象的函数”产生的“调用copy构造函数”的问题
- C#实现Winform间的数据交互的三种方法
- 快速上手Spring 加载Bean配置文件
- JavaScript学习(二)——基本数据结构
- 跟据XML 动态生成菜单
- c#中的运算符重载
- 学习网站汇总
- dataGridView 如何实现行行的拖动,即行之间相互交换位置
- 最好的发邮件代码
- sax解析xml文件(三)
- wstring的一个小例子
- ORA-12514:TNS:无法解析指定的连接标识符的解决办法
- 存储过程-CREATE PROCEDURE
- desktop.ini 是什么文件?