기본 생성자와 생성자 오버로딩

C++에서 클래스를 만들때 생성자/소멸자가 호출하게 됩니다.

생성자/소멸자를 코드로 작성하지 않았다면 

컴파일러는 기본 생성자/기본 소멸자를 만들어서 호출하게되는데,

만약 생성자 오버로딩을 하는 경우에 컴파일러는 생성자가 존재하기 때문에

기본 생성자는 만들지 않게 됩니다.


따라서 연산자 오버로딩시 기본생성자를 만들지 만들지 않은 상태에서

기본생성자가 호출되는 로직을 작성하게 되면 컴파일 오류가 발생합니다.


어느 순간부터 생성자 오버로딩시 습관적으로 기본생성자를 같이 만들었는데,

왜 기본생성자를 만들지 않으면 컴파일 에러가 나는지에 대해서

정확한 이유가 바로 떠오르지 않아서 찾아보고 정리합니다.


기본부터 정확하게 알아가자!!