나는 다음과 같은 코드가 있습니다 (단지 예)오버로드 된 할당 연산자의 코드가 실행되는지 확인하는 방법?
Sales_item s;
Sales_item s1 = s;
그러나 Line 1
이 실행되지 않은 : 다음
class Sales_item {
public:
int ii;
Sales_item& operator=(const Sales_item &item)
{
cout << "Inside assignment\n"; // Line 1
ii = item.ii;
return *this; // Line 2
}
};
을, 내가 그랬어. 오버로드 된 과제 내에서 실행되는 코드를 어떻게 볼 수 있습니까? 예를 들어, 복잡한 코드가있을 수 있으며 디버깅하고 싶습니까? 라인 1에서 중단 점을 설정하려고 시도했지만 프로그램이 중단 점으로 이동하지 않았습니다.
왜 Line 2
은 *this
을 반환합니까? 나는 void
으로 변경하려고 시도하고 동일한 결과를 얻었습니다. 차이점이 뭐야?