SIGN UP MEMBER LOGIN:    
ARTICLE

Operator Overloading Example

Posted by Prasad Articles | C# Language May 14, 2001
The code uses the feature of Operator Overloading in C#. It shows how different operators are overloaded and can be used in a easy manner.
Reader Level:

The code uses the feature of Operator Overloading in C#. It shows how different operators are overloaded and can be used in a easy manner.

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;
}
public int Width
{
get
{
return iWidth;
}
set
{
iWidth=
value;
}
}
public int Height
{
get
{
return iHeight;
}
set
{
iHeight=
value;
}
}
public int Area
{
get
{
return Height*Width;
}
}
/* OverLoading == */
public static bool operator==(Rectangle a,Rectangle b)
{
return ((a.Height==b.Height)&&(a.Width==b.Width));
}
/* OverLoading != */
public static bool operator!=(Rectangle a,Rectangle b)
{
return !(a==b);
}
/* Overloding > */
public static bool operator>(Rectangle a,Rectangle b)
{
return a.Area>b.Area;
}
/* Overloading < */
public static bool operator<(Rectangle a,Rectangle b)
{
return !(a>b);
}
/* Overloading >= */
public static bool operator>=(Rectangle a,Rectangle b)
{
return (a>b)||(a==b);
}
/* Overloading <= */
public static bool operator<=(Rectangle a,Rectangle b)
{
return (a<b)||(a==b);
}
public override String ToString()
{
return "Height=" + Height + ",Width=" + 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;
Console.WriteLine("Rectangle#1 " + objRect1);
Console.WriteLine("Rectangle#2 " + objRect2);
Console.WriteLine("Rectangle#3 " + objRect3);
if(objRect1==objRect2)
{
Console.WriteLine("Rectangle1 & Rectangle2 are Equal.");
}
else
{
if(objRect1>objRect2)
{
Console.WriteLine("Rectangle1 is greater than Rectangle2");
}
else
{
Console.WriteLine("Rectangle1 is lesser than Rectangle2");
}
}
if(objRect1==objRect3)
{
Console.WriteLine("Rectangle1 & Rectangle3 are Equal.");
}
else
{
Console.WriteLine("Rectangle1 & Rectangle3 are not Equal.");
}
}
}

Login to add your contents and source code to this article
share this article :
post comment
 

wat will be the output of this program?

Posted by vaishnavi ranganathan Oct 10, 2010
Team Foundation Server Hosting
Become a Sponsor
PREMIUM SPONSORS
  • ceTE software specializes in components for dynamic PDF generation and manipulation. The DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and new content to existing PDF documents from within your applications.
    ceTE software specializes in components for dynamic PDF generation and manipulation. The DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and new content to existing PDF documents from within your applications.
6 Months Free & No Setup Fees ASP.NET Hosting!
Become a Sponsor