您的位置:首页 > 编程语言 > C#

C# 基本运算符重载

2015-08-24 14:29 671 查看

C# 基本运算符重载

简单的二位向量相加减,和某个整数相乘的实现

using System;
using System.Collections;
using System.Collections.Generic;

namespace MyVec2
{
public struct Vec2
{
public int x;
public int z;

public Vec2(int x, int z)
{
this.x = x;
this.z = z;
}

public static Vec2 Zero { get { return new Vec2(0, 0); } }

public static Vec2 operator +(Vec2 ip1, Vec2 ip2)
{
return new Vec2(ip1.x + ip2.x, ip1.z + ip2.z);
}

public static Vec2 operator -(Vec2 ip1, Vec2 ip2)
{
return new Vec2(ip1.x - ip2.x, ip1.z - ip2.z);
}

public static Vec2 operator *(Vec2 ip, int multiplier)
{
return new Vec2(ip.x * multiplier, ip.z * multiplier);
}

public static Vec2 operator *(Vec2 ip, uint multiplier)
{
return ip * (int)multiplier;
}
}
}


在Main函数中测试
Vec2 vector1 = new Vec2(1, 3);
Vec2 vector2 = new Vec2(2, 4);
Vec2 vector3 = vector1 + vector2;
Console.WriteLine("vector3.x = {0},vector3.y = {1}", vector3.x, vector3.z);


输出:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: