using System;

class Rectangle
{
  private int iHeight;
  private int iWidth;

  // 缺省构造函数
  public Rectangle()
  {
    Height=0;
    Width=0;
  }

  // 构造函数重载
  public Rectangle(int w,int h)
  {
    Width=w;
    Height=h;
  }

  // 属性:宽 的get和set访问器
  public int Width
  {
    get
    {
      return iWidth;
    }
    set
    {
      iWidth=value;
    }
  }

  // 属性:高 的get和set访问器
  public int Height
  {
    get
    {
      return iHeight;
    }
    set
    {
      iHeight=value;
    }
  }

  // 属性:面积 的get访问器
  public int Area  
  {
    get
    {
      return Height*Width;
    }
  }

  // 重载操作符 ==
  public static bool operator==(Rectangle a,Rectangle b)
  {
    return ((a.Height==b.Height)&&(a.Width==b.Width));
  }

  // 重载操作符 !=
  public static bool operator!=(Rectangle a,Rectangle b)
  {
    return !(a==b);
  }

  // 重载操作符 >
  public static bool operator>(Rectangle a,Rectangle b)
  {
    return a.Area>b.Area;
  }

  // 重载操作符 <
  public static bool operator<(Rectangle a,Rectangle b)
  {
    return !(a>b);
  }

  // 重载操作符 >=
  public static bool operator>=(Rectangle a,Rectangle b)
  {
    return (a>b)||(a==b);
  }

  // 重载操作符 <=
  public static bool operator<=(Rectangle a,Rectangle b)
  {
    return (a<b)||(a==b);
  }

  // 重载ToString
  public override String ToString()
  {
    return "高=" + Height + ",宽=" + Width;
  }

  public static void Main()
  {
    // 实例化三个矩形并设置各自属性
    Rectangle objRect1 =new Rectangle();
    Rectangle objRect2 =new Rectangle();
    Rectangle objRect3 =new Rectangle(10,15);
    objRect1.Height=15;
    objRect1.Width=10;
    objRect2.Height=25;
    objRect2.Width=10;

    // 打印三个矩形的信息
    // 其中调用了ToString方法
    Console.WriteLine("矩形#1 " + objRect1);
    Console.WriteLine("矩形#2 " + objRect2);
    Console.WriteLine("矩形#3 " + objRect3);

    // 使用重载后的操作符比较矩形并打印结果
    if(objRect1==objRect2)
    {
      Console.WriteLine("矩形#1和矩形#2高和宽都相等");
    }
    else
    {
      if(objRect1>objRect2)
      {
        Console.WriteLine("矩形1大于矩形2");
      }
      else
      {
        Console.WriteLine("矩形1小于矩形2");      
      }
    }

    if(objRect1==objRect3)
    {
      Console.WriteLine("矩形1和矩形3高和宽都相等");
    }
    else
    {
      Console.WriteLine("矩形1和矩形3不相等");
    }
  }
}

 

posted on 2021-07-23 22:12  ♩♪♫♬  阅读(76)  评论(0)    收藏  举报