Overload & : Address Operator « Operator « C# / CSharp Tutorial






using System;   
   
class TwoDimension {   
  int x, y;
   
  public TwoDimension() { 
     x = y = 0; 
  }   
  public TwoDimension(int i, int j) { 
     x = i; 
     y = j;
  }   
 
  // Overload &.   
  public static bool operator &(TwoDimension op1, TwoDimension op2)   
  {   
    if( ((op1.x != 0) && (op1.y != 0)) & ((op2.x != 0) && (op2.y != 0) ) ) 
      return true;   
    else   
      return false;   
  }   
 
  // Show X, Y
  public void show()   
  {   
    Console.WriteLine(x + ", " + y);   
  }   
}   
   
class MainClass {   
  public static void Main() {   
    TwoDimension a = new TwoDimension(5, 6);   
    TwoDimension b = new TwoDimension(10, 10);   
    TwoDimension c = new TwoDimension(0, 0);   
   
    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 & b) 
       Console.WriteLine("a & b is true."); 
    else 
       Console.WriteLine("a & b is false."); 
 
    if(a & c) 
       Console.WriteLine("a & c is true."); 
    else 
       Console.WriteLine("a & c is false."); 
  }   
}
Here is a: 5, 6
Here is b: 10, 10
Here is c: 0, 0

a & b is true.
a & c is false.








3.17.Address Operator
3.17.1.Overload &