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++);
}
}
Increment: 12
Increment: 13
Addition: 139
Addition: 139