Mega Code Archive

 
Categories / C# / Class Interface
 

Overload shift operator

/* C#: The Complete Reference  by Herbert Schildt  Publisher: Osborne/McGraw-Hill (March 8, 2002) ISBN: 0072134852 */ // Overload < and >.      using System;      // A three-dimensional coordinate class.   class ThreeD {     int x, y, z; // 3-D coordinates          public ThreeD() { x = y = z = 0; }     public ThreeD(int i, int j, int k) { x = i; y = j; z = k; }        // Overload <.     public static bool operator <(ThreeD op1, ThreeD op2)     {       if((op1.x < op2.x) && (op1.y < op2.y) && (op1.z < op2.z))         return true;       else         return false;     }        // Overload >.     public static bool operator >(ThreeD op1, ThreeD op2)     {       if((op1.x > op2.x) && (op1.y > op2.y) && (op1.z > op2.z))         return true;       else         return false;     }        // Show X, Y, Z coordinates.     public void show()     {       Console.WriteLine(x + ", " + y + ", " + z);     }   }      public class ThreeDDemo4 {     public static void Main() {       ThreeD a = new ThreeD(5, 6, 7);       ThreeD b = new ThreeD(10, 10, 10);       ThreeD c = new ThreeD(1, 2, 3);          Console.Write("Here is a: ");       a.show();       Console.Write("Here is b: ");       b.show();       Console.Write("Here is c: ");       c.show();       Console.WriteLine();          if(a > c) Console.WriteLine("a > c is true");       if(a < c) Console.WriteLine("a < c is true");       if(a > b) Console.WriteLine("a > b is true");       if(a < b) Console.WriteLine("a < b is true");     }   }