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