MSDN上的解释-》
使用 operator 关键字来重载内置运算符,或提供类或结构声明中的用户定义转换。那么,我现在想实现一个“+”号的重载,是不是应该大致是这样    class A
    {
        private int value;        public A(int Value)
        {
            value = Value;
        }        public static A operator +(参数如何写?)
        {
            return new A(写点什么?);
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            //如何体现重载+号后的不同?
        }
    }
我只想重载+号,希望高手能帮忙完善A类,同时在Main函数中调用重载后的+号,区分与重载前的“+”号不同之处即可。

解决方案 »

  1.   


            static void Main(string[] args)
            {
                A a = new A(10);
                A b = new A(20);
                A c = a + b; //c的value=30           
                
            }
        }    class A
        {
            private int value;        public A(int Value)
            {
                value = Value;
            }        public static A operator +(A a,A b)
            {
                return new A(a.value + b.value);
            }
        }
      

  2.   


    class A
        {
            private int value;        public A(int Value)
            {
                value = Value;
            }        public static A operator +(A left, A right)
            {
                return new A(left.value + right.value);
            }
        }
      

  3.   


            class A
            {
                private int value;            public A(int Value)
                {
                    value = Value;
                }            public static A operator +(A a, A b)
                {
                    return new A(a.value + b.value);
                }
            }