[해당 글의 내용이 정확하지 않을 수 있습니다. 언제나 피드백 주시면 바로 반영하겠습니다.]

 

복사 생성자는 같은 클래스의 다른 객체를 인자로 받아서 새로운 객체를 생성하는 특별한 형태의 생성자이다.

 

복사 생성자는 객체의 멤버 변수 값을 복사하여 새로운 객체를 초기화하는 역할을 한다

#include <iostream>

class MyClass {
public:
	// 생성자
	MyClass(int n) {
		num = n;
	}
	// 복사 생성자
	MyClass(const MyClass& other) {
	// 멤버 변수의 값을 복사하여 새로운 객체를 초기화
		num = other.num;
	}
    
	int getNum(void) {
		return num;
	}
private:
	int num;
};

int main(void)
{
	MyClass a(5);
	MyClass b(a);
    
	std::cout << a.getNum() << std::endl;
	std::cout << b.getNum() << std::endl;
}

 

int 형 변수 num에 5로 설정하는 객체 a를 복사하여 b에 복사하고 싶을때 b(a) 와 같이 사용한다.

출력 결과는 둘다 동일하다.

+ Recent posts