重载运算符
========================================运算符重载
网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、微信平台小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了杜尔伯特免费建站欢迎大家使用!
-------------------------------------------------------------------------Vector.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication4
{
public struct Vector//结构和类是相似的
{
public int x, y, z;
public Vector(int x, int y, int z)//构造函数
{
this.x = x;
this.y = y;
this.z = z;
}
public Vector(Vector v)//构造函数
{
this.x = v.x;
this.y = v.y;
this.z = v.z;
}
public override string ToString()//重载tostring方法
{
return string.Format("x:{0};y:{1};z:{2}", x, y, z);
}
//重载运算符
//第一个参数是运算符左边的,第二个参数是运算符右边的
//+ - * / 是一样的
public static Vector operator *(Vector lhs, Vector rhs)
{
Vector v = new Vector(lhs);
v.x *= rhs.x;
v.y *= rhs.y;
v.z *= rhs.z;
return v;
}
}
}-------------------------------------------------------------------------主程序
Vector v1 = new Vector(1, 2, 3); Vector v2 = new Vector(3, 2, 1); Console.WriteLine((v1 * v2).ToString());//输出x:3;y:4;z:3 Console.ReadKey();
========================================比较运算符重载
-------------------------------------------------------------------------Vector.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication4
{
public struct Vector//结构和类是相似的
{
public int x, y, z;
public Vector(int x, int y, int z)//构造函数
{
this.x = x;
this.y = y;
this.z = z;
}
public Vector(Vector v)//构造函数
{
this.x = v.x;
this.y = v.y;
this.z = v.z;
}
public override string ToString()//重载tostring方法
{
return string.Format("x:{0};y:{1};z:{2}", x, y, z);
}
//重载比较运算符
//== 与!= 需成对出现
//> 与 < 需成对出现
//>= 与 <= 需成对出现
public static bool operator ==(Vector lhs, Vector rhs)
{
Vector v = new Vector(lhs);
if (v.x == rhs.x && v.y == rhs.y && v.z == rhs.z)
{
return true;
}
else
{
return false;
}
}
//重载比较运算符
public static bool operator !=(Vector lhs, Vector rhs)
{
return !(lhs == rhs);
}
}
}-------------------------------------------------------------------------主程序
Vector v1 = new Vector(1, 2, 3); Vector v2 = new Vector(1, 2, 3); Console.WriteLine(v1 == v2);//true Console.ReadKey();

文章标题:重载运算符
文章分享:http://www.jxjierui.cn/article/jchhhc.html


咨询
建站咨询
