복사 생성자가 호출 되는 경우 (객체의 리턴)


제가 열혈강의 c++언어 책을 보면서 다시 공부를 하고 있습니다

2008년 이전 책 내용이라서 혹시나 변경되어서 안되는 것인지, 제가 잘못 인지하고 있는 것인지 헤깔려서 질문을 올립니다!


복사 생성자가 호출 되는 경우 중 한 가지가, 함수 내에서 객체를 값에 의해 리턴하는 경우라고 공부를 했습니다.


AAA 라는 클래스 정의가 있고,

그 AAA 에는

AAA(int i);

AAA(const AAA& a);

라고 하는 생성자와 복사생성자가 각각 정의 및 선언이 되어 있습니다.


그리고


AAA func(void)

{

AAA a(10);

return a;

}


int main(void)

{

func();

return 0;

}


이렇게 구현을 했다면 분명 함수를 호출한 영역으로 객체가 복사되어 넘어가면서

복사생성자가 호출 되어야 할 것 같은데 전혀 호출을 하지 않습니다 ㅠㅠ


무엇이 잘못된 건지 지적 부탁드립니다 ㅠㅠ


읽어주셔서 감사합니다!!!!!!!!!

사진은 전체 소스와 실행결과 입니다 (원래는 복사생성자가 실행됬다고 출력이되야하는데 아무것도 출력안되는 실행결과사진..)
 소스1

 소스2


실행결과