c#运算符重载 operator关键字

用来重载运算符的,比如说我有两个Vector4类型的变量V1和V2,用了重载运算符,我们实现对相关运算符写好算法,比如说相减,那我们可以直接V1 - V2运算相减运算。

以下为代码:

//自定义类Vector4
class Vector4
    {
        public double x, y, z, w;
        public Vector4() { }
        public Vector4(double x, double y, double z, double w)
        {
            this.x = x;
            this.y = y;
            this.z = z;
            this.w = w;
        }

        public Vector4(Vector4 v)
        {
            x = v.x;
            y = v.y;
            z = v.z;
            w = v.w;
        }

//===========分隔线,以上为构造函数相关==========

        /// <summary>
        /// 减法操作符函数
        /// </summary>
        /// <param name="a"></param>
        /// <param name="b"></param>
        /// <returns></returns>
        public static Vector4 operator -(Vector4 a, Vector4 b)
        {
            return new Vector4(a.x - b.x, a.y - b.y, a.z - b.z, a.w - b.w);
        }
}

 

posted on 2019-07-16 23:47  炼金师  阅读(361)  评论(0)    收藏  举报

导航