2017-12-25 36 views
0

아래 코드는 다항식 클래스의 작동 함수입니다. 이 함수는 음수 연산자를 오버로드하여 객체를 통해 두 다항식 방정식을 뺄 수 있습니다. 사용자가 계수를 나타 내기 위해 double 배열을 입력하기 때문에 setArray 및 getArray 함수가 포함됩니다.* C++의 연산자 및 오버로드

나는 연산자 오버로드가 * this없이 C++에서 작동하는 방법을 알고 있지만 오버로드가 코드 스 니펫에서 * this로 수행되는 방식에 대해 혼란스러워합니다.

개체 (다항식)를 역 참조 포인터와 동일하게 설정한다는 것은 무엇을 의미합니까?

Polynomial Polynomial::operator-(int rval2) { 
Polynomial equation = *this; 
equation.setArray(equation.getArray() - rval2); 
return equation; 
} 

내 이해에 따르면 포인터는 주소를 가리키며 반복적으로 새 주소를 다시 지정할 수 있습니다. 포인터를 역 참조하면 현재 주소에서 값에 액세스 할 수 있습니다.

+0

주소 재 지정이 진행되지 않습니다. '복사 생성자 '를 찾는다. – PaulMcKenzie

답변

0

* this에서 할당하면 복사 생성자가 호출되고 해당 객체가 수정되고 해당 로컬 객체의 복사본이 반환됩니다.