1. 기본 생성자 및 연산자

디폴트 생성자

my_class() = default;
my_class() = delete;

복사 대입 생성자

명시적으로 삭제도 가능 (delete)

my_class(const My_Class& mc) = default;
my_class(const My_Class& mc) = delete;

복사 대입 연산자

My_Class& operator=(const My_Class& rhs) = default;
My_Class& operator=(const My_Class& rhs) = delete

  1. 선언문에선 복사 대입 생성자가 쓰임

2. 이니셜라이저

이니셜라이저나 클래스 내부 생성자 구문으로 꼭 초기화 해야되는 것들

  1. const 멤버
  2. reference 멤버
  3. "디폴트 생성자가 없는" 객체
  4. "디폴트 생성자가 없는" 베이스 클래스