explicit1 [ C++ ] 복사 생성자( Copy Constructor )와 explicit 복사 생성자 ( Copy Constructor )는 무엇일까? 일단 복사라는 말에 주목해보자. 우리가 변수의 값을 다른 변수에 복사를 하려면 다음과 같이 쓴다. int num1 = 5; int num2 = num1; 하지만 C++에서는 다음 방식과 동일하게 선언과 초기화를 지원한다. int num1(5); int num2(num1); 그럼 객체는 어떻게 될까? A a; A b = a; A라는 클래스가 있고, a와 b 객체가 있다. 그럼 위와 같은 코드는 다음과도 동일하다. A a; A b(a); 즉, b객체를 새로 생성해서, a와 b가 멤버 대 멤버 복사가 일어난다. 근데 b의 생성자는 어떻게 호출이 될까? 일단 여기를 다시 해석해보자. A b(a); - A형 객체를 생성. - 객체의 이름은 b. - a.. 2019. 9. 24. 이전 1 다음