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