메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

뇌를 자극하는 C++ 프로그래밍

뇌를 자극하는 C++ 프로그래밍 질의응답 게시판입니다.

연산자오버로딩질물

2007-11-23

|

by 박상현

2002

안녕하세요~
연산자오버로딩을 공부하다 궁금한점이 생겨서 왔습니다
여러 책을 보다가 타 사의 C++을 공부하던도중 의문나는 점이 생겼습니다


지역변수는 레퍼런스로 리턴하면 안된다..이것은 c++초기에 배운 문법입니다
그래서 아래 해야 한다라고 나와있습니다

참고로 x,y는  Point클래스의 멤버변수입니다

Point Point::operator +(int val)
{
    Point temp(x+val, y+val);
    return temp;
}


하지만 아예 temp따위의 지역변수를 만들지 않고 아래처럼 해버리면
참조로 넘겨줘서 좋은것 같은데..왜 이렇게 하지 않을까요??설마 이책을 쓰신분이
이것을 모를리는없을거고.. 뭔가 이렇게하면 안되는 이유가 있을것같습니다

왜 궂이 temp를 만들어야 할까요...참조도 못하게 하는..

Point & Point::operator +(int val)
{
        one = one + val;
        two = two + val;
        return * this;
}
댓글 입력
자료실