복사 생성자
복사 생성자는 객체의 사본을 생성할 때 자동으로 호출되는 생성자 함수이다. 매개변수로 인스턴스의 포인터를 넘겨주어야하며, 이는 복사본의 원본 인스턴스에 대한 참조에 의해 쓰인다.
#include <iostream>
using namespace std;
class MyData
{
public:
MyData() { // 디폴트 생성자 default constructor
cout << "MyData()" << endl;
}
MyData(const MyData& rhs) { // 복사 생성자 copy constructor
cout << "MyData(const MyData&)" << endl;
this->nData = rhs.nData;
}
void setData(int nData) {
this->nData = nData;
}
int getData() {
return this->nData;
}
private:
int nData;
};
int main()
{
MyData a; // 디폴트 생성자 호출
a.setData(100);
MyData b(a); // 복사 생성자 호출
cout << b.getData() << endl;
return 0;
}
'C, C++' 카테고리의 다른 글
C++) 정적 멤버 static (0) | 2024.01.24 |
---|---|
C++) 생성자 다중 정의 및 생성자 위임 (0) | 2024.01.23 |
C++) 디폴트 생성자와 카피 생성자(참조자 멤버 초기화) (0) | 2024.01.22 |
C++) 디폴트 생성자(Constructor)와 소멸자 (0) | 2024.01.21 |
C++) 클래스 기본 문법 (0) | 2024.01.21 |