//Operator overloading for ThreeD-int public static ThreeD operator -(ThreeD ob1, int i) { ThreeD temp = new ThreeD(); temp.x = ob1.x - i; temp.y = ob1.y - i; temp.z = ob1.z - i; return temp; }
//Operator Overloading unary -- public static ThreeD operator --(ThreeD ob1) { ThreeD temp = new ThreeD(); temp.x = ob1.x - 1; temp.y = ob1.y - 1; temp.z = ob1.z - 1; return temp; }
//Operator overloading for ThreeD+int public static ThreeD operator +(ThreeD ob1,int i) { ThreeD temp = new ThreeD(); temp.x = ob1.x + i; temp.y = ob1.y + i; temp.z = ob1.z + i; return temp; }
//Operator overloading unary - public static ThreeD operator -(ThreeD ob1) { ThreeD temp = new ThreeD(); temp.x = -ob1.x; temp.y = -ob1.y; temp.z = -ob1.z; return temp; }
//Operator Overloading unary ++ public static ThreeD operator ++(ThreeD ob1) { ThreeD temp = new ThreeD(); temp.x = ob1.x+1; temp.y = ob1.y+1; temp.z = ob1.z+1; return temp; }
//Operator overloading binary - public static ThreeD operator -(ThreeD ob1,ThreeD ob2) { ThreeD temp = new ThreeD(); temp.x = ob1.x - ob2.x; temp.y = ob1.y - ob2.y; temp.z = ob1.z - ob2.z; return temp; }
//Operator overloading for ThreeD+int public static ThreeD operator +(ThreeD ob1, int i) { ThreeD temp = new ThreeD(); temp.x = ob1.x + i; temp.y = ob1.y + i; temp.z = ob1.z + i; return(temp); }
//Operator overloading for ThreeD-int public static ThreeD operator -(ThreeD ob1, int i) { ThreeD temp = new ThreeD(); temp.x = ob1.x - i; temp.y = ob1.y - i; temp.z = ob1.z - i; return(temp); }
//Operator Overloading unary -- public static ThreeD operator --(ThreeD ob1) { ThreeD temp = new ThreeD(); temp.x = ob1.x - 1; temp.y = ob1.y - 1; temp.z = ob1.z - 1; return(temp); }
//Operator Overloading unary ++ public static ThreeD operator ++(ThreeD ob1) { ThreeD temp = new ThreeD(); temp.x = ob1.x + 1; temp.y = ob1.y + 1; temp.z = ob1.z + 1; return(temp); }
//Operator overloading unary - public static ThreeD operator -(ThreeD ob1) { ThreeD temp = new ThreeD(); temp.x = -ob1.x; temp.y = -ob1.y; temp.z = -ob1.z; return(temp); }
//Operator overloading binary - public static ThreeD operator -(ThreeD ob1, ThreeD ob2) { ThreeD temp = new ThreeD(); temp.x = ob1.x - ob2.x; temp.y = ob1.y - ob2.y; temp.z = ob1.z - ob2.z; return(temp); }
static void Main(string[] args) { ThreeD ob1 = new ThreeD(2, 4, 6); ThreeD ob2 = new ThreeD(10, 12, 14); ThreeD ob3 = new ThreeD(); //Print the both objects data Console.WriteLine("Object 1 contains :"); ob1.Show(); Console.WriteLine("Object 2 contains :"); ob2.Show(); //Check the operator overloading + ob3 = ob1 + ob2; Console.WriteLine("Now object 3 contains :"); ob3.Show(); //Check for operator overloading - ob3 = ob2 - ob1; Console.WriteLine("Now object 3 contains :"); ob3.Show(); ob3 = ob1 + ob2 + ob3; Console.WriteLine("Now object 3 contains :"); ob3.Show(); //Check for unary operator overloading - ob3 = -ob1; Console.WriteLine("Now object 3 contains :"); ob3.Show(); //Check for unary operator ++ ob3++; Console.WriteLine("Now object 3 contains :"); ob3.Show(); //Check for unary operator -- ob3--; Console.WriteLine("Now object 3 contains :"); ob3.Show(); //Check for ThreeD + int ob3 = ob1 + 10; Console.WriteLine("Now object 3 contains :"); ob3.Show(); //Check for ThreeD - int ob3 = ob1 - 10; Console.WriteLine("Now object 3 contains :"); ob3.Show(); //Check for int+ThreeD ob3 = 10 + ob1; Console.WriteLine("Now object 3 contains :"); ob3.Show(); }