인프런 커뮤니티 질문&답변
[15:48] 복사 생성자 필요한지?
작성
·
379
0
안녕하세요! 항상 답변 감사드립니다.
AutoPtr 클래스에서 복사생성자가 구현되어있는데
이 복사생성자는 이 코드에서 쓸모가 없는 코드가
아닌가요..?
(아래 대입연산자 오버로드가 되어있으므로)
답변 1
5
쓸모 없는 코드 아닙니다ㅠ.ㅠ 복사생성자랑 대입 연산자는 역할이 다릅니다.
말 그대로 복사 생성자는 객체가 생성될 때 호출되는 "생성자"에요! (같은 클래스 타입의 객체를 파라미터로 받는 생성자의 한 종류입니다.)
복사생성자는 Base b = a; 이런식으로 새로운 객체를 만들 때 다른 객체를 대입해서 만들 때 호출이 됩니다. (Base 클래스 타입의 b 라는 객체를 새롭게 만들 때 Base 타입의 또 다른 객체인 a 를 복사해서 b를 만들고자 할 때)
대입 연산자는 그냥 일반적으로 b = a 이렇게 일반적인 대입을 할 때 호출이 됩니다. (이미 기존에 존재하는 b 객체에 a 객체를 대입)






메인함수에서 복사생성자 호출 코드가 없어서 여쭈어봤습니다! 감사합니다^^;