제 질문은 왜 연산자 오버로딩에서 매개 변수로 포함 된 클래스 개체 중 하나를 가져야하는 것입니까 이런 이유로 하나의 매개 변수를 갖는 이유는 무엇입니까?왜 하나의 매개 변수 중 하나가 연산자 오버로딩에 형식을 포함하고 있습니까?
-5
A
답변
0
적어도 하나의 피연산자가 동일한 유형이어야 함을 의미하는 특정 클래스/구조체에 대해 연산자를 오버로드하고 있습니다. 피연산자는 매개 변수로 정의됩니다.
오버로드 된 연산자를 사용하는 방법, 특히 ++와 같은 단항 연산자를 사용하는 것이 더 쉽습니다. 분명히 오버로드 된 ++를 호출하려면 오버로드 된 클래스의 클래스에이를 적용해야합니다. 그렇지 않으면 컴파일러에서 오버로드 된 연산자를 호출 할 의도가 있음을 어떻게 알 수 있습니까?
마찬가지로 이진 연산자를 사용하면 컴파일러에서 오버로드 된 연산자가 정의 된 위치를 알아야합니다. 클래스 B와 C의 매개 변수를 사용하여 클래스 A에 + 연산자를 오버로드 한 다음 B의 인스턴스를 C의 인스턴스에 추가하려고하면 컴파일러에서 A에서 오버로드 된 연산자를 사용하려고 생각합니까? 클래스 B와 C도 + 연산자를 오버로드했다면 어떨까요?
나는 정확한 대답을 찾지 못했습니다. 그 이유는 그 중 하나가 대답을 게시 해주세요. 내게 링크를 게시 해주세요. –
당신이 무엇을 요구하는지 알 수 있도록 약간의 코드를 포함시켜주십시오. – mjwills