微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C#运算符重载

using System;

namespace OperatorOvlApplication {

   class Box {
      private double length;   // Length of a Box
      private double breadth;  // Breadth of a Box
      private double height;   // Height of a Box

      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;
      }

      // Overload + operator to add two Box objects.
      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();   // Declare Box1 of type Box
         Box Box2 = new Box();   // Declare Box2 of type Box
         Box Box3 = new Box();   // Declare Box3 of type Box
         double volume = 0.0;    // Store the volume of a Box here

         // Box 1 specification
         Box1.setLength(6.0);
         Box1.setBreadth(7.0);
         Box1.setHeight(5.0);

         // Box 2 specification
         Box2.setLength(12.0);
         Box2.setBreadth(13.0);
         Box2.setHeight(10.0);

         // volume of Box 1
         volume = Box1.getVolume();
         Console.WriteLine(Volume of Box1 : {0}, volume);

         // volume of Box 2
         volume = Box2.getVolume();
         Console.WriteLine(Volume of Box2 : {0}, volume);

         // Add two object as follows:
         Box3 = Box1 + Box2;

         // volume of Box 3
         volume = Box3.getVolume();
         Console.WriteLine(Volume of Box3 : {0}, volume);
         Console.ReadKey();
      }
   }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐