C#操作符的重载

c#要求所有的运算符重载都声明为public 和static,这表示他们与他们的类或结构相关联,而不与实例相关联。操作符的重载使用operator关键字,C#不允许重载=操作符。

下面是一个重载+操作符的列子,

 

ExpandedBlockStart.gif 代码
         static   void  Main( string [] args)
        {
            Square a 
=   new  Square( 3 3 );
            Square b 
=   new  Square( 5 5 );
            Square c 
=   new  Square();
            c 
=  a  +  b;
            Console.WriteLine(c.ToString());
            Console.ReadKey();
        }

   
public   class  Square
    {
       
public  Square() { }
       
public  Square( int  w, int  h)
       {
           
this .w  =  w;
           
this .h  =  h;
       }
       
public  Square( int  area)
       {
           
this .area = area;
       }
       
public   int  w {  get set ; }
       
public   int  h {  get set ; }
       
public   int  area{ get ; set ;}

       
public   static  Square  operator   + (Square a,Square b)
       {
           
return   new  Square(a.w * a.h + b.w * b.h);
       }
       
public   override   string  ToString()
       {
           
return   this .area.ToString();
       }
   }

 

 

转载于:https://www.cnblogs.com/Xingsoft-555/archive/2010/01/17/1649959.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值