복사 생성자, 복사 대입 연산자, 생성자, 소멸자 는 사용자가 선언을 하지 않아도 컴파일러가 자동으로 public inline 함수로 선언해 버린다.

calss Empty{};


class Empty {
public:
Empty() { ... }                 // 기본 생성자
Empty(const Empty& rhs) { ... }          // 복사 생성자
~Empty() { ... }                // 소멸자

Empty& operator= (const Empty& rhs) { ... }    // 복사 대입 연산자


위의 두 클래스는 같다고 보면 된다.

참조
1. 복사 생성자를 제외한 생성자를 선언하면 컴파일러가 기본 생성자는 만들지 않는다.

이것만은 잊지 말자!
- 컴파일러는 경우에 따라 클래스에 대해 기본 생성자, 복사 생성자, 복사 대입 연산자, 소멸자를 암시적으로 만들어 놓을 수 있다.

관련링크
http://ikpil.tistory.com/406
http://zeniroy.springnote.com/pages/17563
http://chiarang.egloos.com/1685406
http://ikpil.tistory.com/346
http://redinlife.egloos.com/1611549
http://chiarang.egloos.com/1685433
http://chiarang.egloos.com/1685521
http://babonamu.egloos.com/1090073


posted by deviAk