c#中operator的运用

operator 只要是运算符都能重载

operator 关键字的主要作用是用来重载运算符的,还可以用于类或结构中类型的自定义转换。

下面看个例子

[csharp]  view plain  copy
  1. class Feige  
  2. {  
  3.     //定义两个全局变量  
  4.     int a, b;  
  5.   
  6.     //声明带两个参数的构造函数  
  7.     public Feige(int a, int b)  
  8.     {  
  9.         this.a = a;  
  10.         this.b = b;  
  11.     }  
  12.   
  13.     //重载加法运算符+  
  14.     public static Feige operator +(Feige f, Feige g)  
  15.     {  
  16.         return new Feige(f.a + g.a, f.b + g.b);  
  17.     }  
  18.   
  19.     //重载乘法运算符*  
  20.     public static Feige operator *(Feige f, Feige g)  
  21.     {  
  22.         return new Feige(f.a * g.a, f.b * g.b);  
  23.     }  
  24.   
  25.     //自定义转换类型  
  26.     public static implicit operator int(Feige f)  
  27.     {  
  28.         return (int)(f.a * f.b);  
  29.     }  
  30. }  


[csharp]  view plain  copy
  1. //执行构造函数  
  2. Feige fei = new Feige(2, 5);  
  3. //执行构造函数  
  4. Feige ge = new Feige(3, 6);  
  5.   
  6. int d = (int)(fei + ge);//调用运算符+函数  
  7. int e = (int)(fei * ge);//调用运算符*函数  
  8.   
  9. //两对象加法操作结果是:55              
  10. richTextBox1.Text += "两对象加法操作结果是:" + d + "\n";  
  11. //两对象乘法操作结果是:180  
  12. richTextBox1.Text += "两对象乘法操作结果是:" + e + "\n";  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值