프로젝트를 진행중에 prototype을 clone하는 코드를 작성해야 했는데 다음과 같은 방식으로 작성한 코드를 보았고 이게 과연 복사 생성자를 호출할지, 그냥 생성자를 호출할 지 궁금했다. CClass* CClass::Clone() { return new CClass(*this); } 내가 아는 복사 생성자의 호출 시기는 객체를 인자로 넘길 때 reference 형태가 아닌 value 형태로 넘길 때 객체를 값으로 반환할 때 객체를 생성과 동시에 기존에 존재하는 객체로 초기화 할 때 이렇게 3가지 인데, 저 3가지중에 어디에 해당되는지 확신이 없었다. 1, 2번은 당연히 아니고 3번이 의심돼서 아래와 같은 코드를 작성하고 직접 확인해보았다. //CClass.h class CClass { public: ..