본문 바로가기

프로그래밍/C_C++

복사 생성자

클래스에서 정의하지 않아도 자동으로 생성되는 것은

기본생성자와 기본 소멸자가 있고, 또한 복사 생성자도 자동 생성된다.

Point p1;                 // 기본생성자 호출 모양
Point p2(10,20);        // 매개변수 있는 생성자 호출모양
Point p3(p2);           // 복사생성자 모양


복사생성자 정의
 클래스명(const 클래스명& 객체변수)
 {
        각 멤버 값 복사
 }

ex)   Point (const Point& p)
       {
               x = p.x;           //  Point 클래스 안에 x라는 변수만 있을 경우
        }

==============================================================================
함수로 매개변수로 객체를 넘겨줄 때에도 복사생성자가 생성.
함수에서 리턴으로 객체를 넘겨줄 때에도 복사생성자가 생성.