Operator Overloading for your own class : Operator overload : Operator Overload C# Examples


C# Examples » Operator Overload » Operator overload »

 

Operator Overloading for your own class









    
using  System;

struct  MyType
{
        public  MyType(int  value)
        {
                this.value  =  value;
        }
        public  override  string  ToString()
        {
                return(value.ToString());
        }
        public  static  MyType  operator  -(MyType  roman)
        {
                return(new  MyType(-roman.value));
        }
        public  static  MyType  operator  +(  MyType  roman1,  MyType  roman2)
        {
                return(new  MyType(roman1.value  +  roman2.value));
        }
        
        public  static  MyType  operator  ++(MyType  roman)
        {
                return(new  MyType(roman.value  +  1));
        }
        int  value;
}
class  MainClass
{
        public  static  void  Main()
        {
                MyType        roman1  =  new  MyType(12);
                MyType        roman2  =  new  MyType(125);
                
                Console.WriteLine("Increment:  {0}",  roman1++);
                Console.WriteLine("Increment:  {0}",  roman1++);
                
                Console.WriteLine("Addition:  {0}",  roman1  +  roman2);
                Console.WriteLine("Addition:  {0}",  roman1++  +  roman2++);
                
        }
}
    
   
  
   



Output

Increment: 12
Increment: 13
Addition: 139
Addition: 139


HTML code for linking to this page:

Follow Navioo On Twitter

C# Examples

 Navioo Operator Overload
» Operator overload