연산자 오버로딩은 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;
}