9 public static int Main ()
13 k = new Blah (2) + new Blah (3);
30 k = new Blah (22) - new Blah (21);
35 Console.WriteLine ("! returned true");
45 Console.WriteLine ("k is definitely true");
49 double f = (double) k;
54 int i = new Blah (5) * new Blah (10);
80 public static Blah operator + (Blah i, Blah j)
82 Blah b = new Blah (i.i + j.i);
83 Console.WriteLine ("Overload binary + operator");
87 public static Blah operator + (Blah i)
89 Console.WriteLine ("Overload unary + operator");
90 return new Blah (i.i);
93 public static Blah operator - (Blah i)
95 Console.WriteLine ("Overloaded unary - operator");
96 return new Blah (- i.i);
99 public static Blah operator - (Blah i, Blah j)
101 Blah b = new Blah (i.i - j.i);
102 Console.WriteLine ("Overloaded binary - operator");
106 public static int operator * (Blah i, Blah j)
108 Console.WriteLine ("Overloaded binary * operator");
112 public static int operator / (Blah i, Blah j)
114 Console.WriteLine ("Overloaded binary / operator");
118 public static int operator % (Blah i, Blah j)
120 Console.WriteLine ("Overloaded binary % operator");
124 public static Blah operator ~ (Blah i)
126 Console.WriteLine ("Overloaded ~ operator");
127 return new Blah (~i.i);
130 public static bool operator ! (Blah i)
132 Console.WriteLine ("Overloaded ! operator");
136 public static Blah operator ++ (Blah i)
138 Blah b = new Blah (i.i + 1);
139 Console.WriteLine ("Incrementing i");
143 public static Blah operator -- (Blah i)
145 Blah b = new Blah (i.i - 1);
146 Console.WriteLine ("Decrementing i");
150 public static bool operator true (Blah i)
152 Console.WriteLine ("Overloaded true operator");
156 public static bool operator false (Blah i)
158 Console.WriteLine ("Overloaded false operator");
162 public static implicit operator int (Blah i)
164 Console.WriteLine ("Converting implicitly from Blah->int");
168 public static explicit operator double (Blah i)
170 Console.WriteLine ("Converting explicitly from Blah->double");