// Overload binary +.
    public static ThreeDclass operator +(ThreeDclass op1, ThreeDclass op2)
    {
        ThreeDclass result = new ThreeDclass();

        result.x = op1.x + op2.x;
        result.y = op1.y + op2.y;
        result.z = op1.z + op2.z;
        return(result);
    }
    static void Main()
    {
        ThreeDclass a = new ThreeDclass(1, 2, 3);
        ThreeDclass b = new ThreeDclass(10, 10, 10);
        ThreeDclass c = new ThreeDclass();
        int         i;

        Console.Write("Here is a: ");
        a.Show();
        Console.WriteLine();
        Console.Write("Here is b: ");
        b.Show();
        Console.WriteLine();
        c = a + b; // add a and b together
        Console.Write("Result of a + b: ");
        c.Show();
        Console.WriteLine();
        i = a; // convert to int
        Console.WriteLine("Result of i = a: " + i);
        Console.WriteLine();
        i = a * 2 - b; // convert to int
        Console.WriteLine("result of a * 2 - b: " + i);
    }