谁能跟偶通俗,仔细,全面的讲下重载啊?务必给出例子。
重载的作用就是比方说: 让+,可以运算INT,连接STRING?。使用operator有必要吗。+不是自动就重载了吗
(学习C#才一周,别笑哦,不过我看书的确超快,呵呵)

解决方案 »

  1.   

    是不是这个呀        /// <summary>
            ///传入两个数字返回两数之和
            /// </summary>
            public int Count(int a, int b)
            {
                return a + b;
            }
            /// <summary>
            /// 传入数字和字符串返回字符串
            /// </summary>
            public stirng Count(int a, string b)
            {
                return a + b;
            }
      

  2.   

    楼上的,第2个int和string怎么相加啊?        /// <summary>
            ///传入两个数字返回两数之和
            /// </summary>
            public int Count(int a, int b)
            {
                return a + b;
            }
            /// <summary>
            /// 传入两个字符串返回两字符串之和
            /// </summary>
            public stirng Count(stirng a, string b)
            {
                return a + b;
            }
      

  3.   

    使用operator有必要吗。+不是自动就重载了吗 ?回你这句吧老兄,在你用这个+之前 其实已经实现了operator运算符重载
    只不过是微软帮你实现了,难怪你觉得我一个String + 一个String 
    好爽啊,为什么那伙笨蛋要去用operator重载
    其实是微软对String已经实现了+ 的运算符重载比如时间类型(DateTime)的可以直接比大小,相加 ,相减
    其实它本身是不可以这样做
    但微软对"<",  ">" , "+", "-" 这些运算符重载过
    所以你可以直接用他们当你有自己特定的需求时,微软没有现成实现的时候
    你就得用它写你自己的重载比如你想要一建的一个类中的对象可以直接相加(+),减(-)等等
    实现某种你要的效果,
    比如说相加(+),则这两个对象的实例变量则全部相加,这个时候你要说
    我两个对象相加(+),则他们的实例变量则全部相减都可以
    只要你觉得爽 ,呵呵现在明白了它的必要性吗?
      

  4.   

    你说的是方法重载还是操作符重载,3楼的方法重载,如果调用方法就重载了Count,
      

  5.   

    楼主应该说的是操作符重载;比如说有这么一个类
    class P
    {
        private int num;
    }现在有代码
    P pc = new P();
    pc=pc+100;    //本意是想让P中的num成员加100, 但没有进行+重载,这样就会出问题就算编译器会构造默认的+重载, 可能还是不能跟整型相加,通过自己重载操作,可实现与其它类型+操作
    如类改为:
    class P
    {
        private int num;
        public P operator +(int n)
        {
           this.num+=n;
           return this;
        }    public P operator +(string s)
        {
           int n=convert.toint(s);
           this.num+=n;
           return this;
        }
    }这样就可以实现类P与int相加了