PROGRAMMING LANGUAGE/C++

생성자 종류

JC0 2021. 11. 18. 21:50
#include <iostream>
using namespace std;

class Person
{
private:
	int age;
public:
	// 기본생성자
	Person() { cout << "기본"; }
	     
	// 복사생성자
	Person(const Person& p) { age = p.age; cout << "복사"; }
	  
	// 이동생성자
	Person(Person&& p) { age = p.age; cout << "이동";}

	// 변환생성자  
	Person(int _age) { age = _age; cout << "변환";}
      
	void Print() { cout << age; }
};                

int main(void)
{
	int a = 5;
	Person p(3);      
	p.Print();
	  
	return 0;
}