Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#의 연산자 함수

<시간/>

연산자 함수는 오버로드된 연산자이며 특수 이름을 가진 함수입니다. 이를 생성하기 위해 키워드 operator 뒤에 정의되는 연산자에 대한 기호가 옵니다.

다른 함수와 마찬가지로 오버로드된 연산자에는 반환 유형과 매개변수 목록이 있습니다.

예를 들어 -

public static Box operator+ (Vehicle v1, Vehicle v2, Vehicle v3) {
}

다음은 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();
      }
   }
}