서문을 쓰려면 숙제가 있어야하며 답변을 찾는 것이 아니라 약간의 방향을 찾고 있습니다. 실험실 교사에게 도움을 요청할 수 없기 때문입니다. 내 문제는 내가 변경할 수없는 미리 정의 된 클래스 선언이 주어 졌다는 것입니다. 세 번째 시간 객체와 같도록 두 시간 객체를 추가해야합니다.오버로드 + 연산자 C++
time3 = time2 + time1; 이
Time Time :: operator + (const Time time2)
{
Time::addSeconds(time1.second);
Time::addMinutes(time1.minute);
Time::addHours(time1.hour); //changes hrs and days
return *this;
};
그래서 나는 시간 1이 동일 무엇으로 TIME2를 전환하는 할당 할 *이 연산자를 사용하고 시간 1 년 내 추가 기능을 추가처럼
내 오버로드 기능을 보인다. 그래서 그것은 작동하지 않습니다. 클래스 정의를 변경할 수 있다면 어떻게해야하는지 알지만, 할 수는 없습니다. 내 의도는 * this가 time3을 참조하는 것이었지만, 방정식의 왼쪽을 참조합니다.
클래스의 구조를 변경하지 않고도 함수를 추가 할 때 time3을 같게 만들려면 어떻게해야합니까?
이 상황을 처리 할 수있는 적절한 방법을 보여주는 리소스를 찾을 수 없지만 어떤 것이 있으면 읽을 수있을 것입니다.
'* this'는 분명히 연산자가 아닙니다. 그리고'operator + ='를 사용하여'operator +'를 구현해야합니다. – chris
시간은 어디에서 오는거야? 또한이 수업에 필요한 교과서가 없습니까? – ChiefTwoPencils
물어보기 전에 검색을 시도 했습니까? 여기에 스택 OVerflow : http://stackoverflow.com/a/4421719/3651800에 연산자 오버로드에 꽤 좋은 기록이야. 또한 웹 –