struct MyOperatorOverloadedClass { public int x, y; public MyOperatorOverloadedClass(int x, int y) { this.x = x;this.y = y; } public static MyOperatorOverloadedClass operator +(MyOperatorOverloadedClass a, MyOperatorOverloadedClass b) { return new MyOperatorOverloadedClass(a.x * b.y + b.x * a.y, a.y * b.y); } }
MyOperatorOverloadedClass a = new MyOperatorOverloadedClass(1, 2);MyOperatorOverloadedClass b = new MyOperatorOverloadedClass(3, 4);MyOperatorOverloadedClass c = a + b; // c.x == 10, c.y == 8Console.WriteLine("Value of x is {0} and that of y is {1}", c.x, c.y);