c#运算符重载

(就是使自己写的类可以实现运算)

可以重定义或重载 C# 中内置的运算符。因此,可以使用用户自定义类型的运算符。重载运算符是具有特殊名称的函数,是通过关键字 operator 后跟运算符的符号来定义的。

csharp 复制代码
namespace OperatorOvlApplication
{
   class Box
   {
      private double length;      // 长度
      private double breadth;     // 宽度
      private double height;      // 高度
      public double getVolume()
      {
         return length * breadth * height;
      }
      public void setLength( double len )
      {
         length = len;
      }
      public void setBreadth( double bre )
      {
         breadth = bre;
      }
      public void setHeight( double hei )
      {
         height = hei;
      }
      //定义重载!!!!!!!!!!
      // 重载 + 运算符来把两个 Box 对象相加
      public static Box operator+ (Box b, Box c)//实现了自定义类的"+"运算
      {
         Box box = new Box();
         box.length = b.length + c.length;
         box.breadth = b.breadth + c.breadth;
         box.height = b.height + c.height;
         return box;
      }
   }
   class Tester
   {
      static void Main(string[] args)
      {
         Box Box1 = new Box();         // 声明 Box1,类型为 Box
         Box Box2 = new Box();         // 声明 Box2,类型为 Box
         Box Box3 = new Box();         // 声明 Box3,类型为 Box
         double volume = 0.0;          // 体积
         // Box1 详述
         Box1.setLength(6.0);
         Box1.setBreadth(7.0);
         Box1.setHeight(5.0);
         // Box2 详述
         Box2.setLength(12.0);
         Box2.setBreadth(13.0);
         Box2.setHeight(10.0);
         // 把两个对象相加
         Box3 = Box1 + Box2;//使用了重载函数!!!!!!!!!!
         // Box3 的体积
         volume = Box3.getVolume();
         Console.WriteLine("Box3 的体积: {0}", volume);
         Console.ReadKey();
      }
   }
}
相关推荐
赵谨言8 分钟前
基于Python的汽车CAN总线报文格式转换系统的设计与实现
大数据·开发语言·经验分享·笔记·python
坚持就完事了18 分钟前
Python各种命名规则
开发语言·python
郝学胜-神的一滴18 分钟前
Python中的del语句与垃圾回收机制深度解析
服务器·开发语言·网络·python·算法
重生之后端学习23 分钟前
17. 电话号码的字母组合
java·开发语言·数据结构·算法·深度优先
0 0 025 分钟前
CCF-CSP 32-2 因子化简(prime)【C++】考点:素数因子分解(试除法)
开发语言·数据结构·c++·算法
zh_xuan32 分钟前
kotlin 挂起函数
android·开发语言·kotlin
岱宗夫up38 分钟前
【前端基础】HTML + CSS + JavaScript 基础(三)
开发语言·前端·javascript·css·html
蜜獾云40 分钟前
JAVA面试题速记-redis知识点
java·开发语言·redis
白太岁42 分钟前
操作系统开发:(11) RTOS 与 GPOS 的分界线:MMU
c语言·开发语言·汇编·arm开发·系统架构
lly20240643 分钟前
Vue3 目录结构
开发语言