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

'-'연산자를 사용하여 두 숫자를 더합니까?

<시간/>

연산자 오버로딩은 C++에서 중요한 개념입니다. 사용자 정의 의미를 부여하기 위해 연산자가 오버로드되는 다형성 유형입니다. 오버로드된 연산자는 사용자 정의 데이터 형식에 대한 작업을 수행하는 데 사용됩니다. 예를 들어, '+' 연산자는 Integer, String(concatenation) 등과 같은 다양한 데이터 유형에 대한 추가를 수행하기 위해 오버로드될 수 있습니다.

입력

10 20
20 30

출력

30
50

설명

연산자 오버로딩에 의해 '-' 연산자를 사용하여 두 숫자의 덧셈을 수행합니다. 이진 연산자는 연산을 수행할 수 있도록 하나의 객체를 인수로 필요로 합니다. 여기서 Friend 함수를 사용하는 경우 두 개의 인수가 필요합니다.

연산자가 호출되고 있습니다:ob1-ob2. 연산자 앞의 개체는 함수를 호출하고 연산자 뒤의 개체는 함수에 인수로 전달됩니다. 따라서 이 경우 ob1은 객체를 호출하고 ob2는 함수에 대한 인수로 전달됩니다.

ob1의 x 및 y 값으로 10, 20을 전달하고 ob2의 x 및 y 값으로 20, 30을 전달합니다.

예시

#include <iostream>
using namespace std;
class sum {
   public:
      int x, y, z;
   void getdata(int a, int b) {
      x=a;
      y=b;
   }
   void display() {
      cout<<"\nSum of X:"<<x;
      cout<<"\nSum of Y:"<<y;
   }
   void operator-(sum &);
};
void sum::operator-(sum &ob) {
   x=x+ob.x;
   y=y+ob.y;
   display();
}
int main() {
   sum ob1, ob2;
   ob1.getdata(10,20);
   ob2.getdata(20,30);
   ob1-ob2;
}