Wednesday, March 30, 2011

Operator Overloading


      public class MyClass
    {
       public   int a,b;

       public MyClass(int a, int b)
       {
           this.a = a;
           this.b = b;
       }
       public MyClass()
       {
       }
        public  static  MyClass operator +(MyClass  arg1, MyClass  arg2)
        {
           MyClass m=new MyClass();
              m . a=arg1.a +arg2.a ;
          m.  b=arg1.b+arg2.b;
            Console.WriteLine("Addition in: MyClass");
            return m;
        }

        public static  MyClass  operator /(MyClass  arg1,MyClass  arg2)
        {
            MyClass m = new MyClass();
           m. a = arg1.a / arg2.a;
          m.  b = arg1.b/ arg2.b;
            Console.WriteLine("Division in: MyClass");
            return m;
        }
    }


  
    class Program

       
    {
        static void Main(string[] args)
        {
            MyClass m1 = new MyClass(10,10);
            MyClass m2 = new MyClass(20, 30);

            MyClass m3 = m1 + m2;
            Console.WriteLine(m3.a +"  "+ m3.b);
            MyClass m4 = m2 / m1;
            Console.WriteLine(m4.a + "  " + m4.b);
            Console.Read();
        }
    }

0 comments:

Post a Comment