학습/C++

생성자와 소멸자

juhyeon 2021. 9. 23. 03:35

생성자(constructor)

  • 객체가 생성되는 시점에서 자동으로 호출되는 멤버함수
  • 객체가 생성될때 객체에게 필요한 초기화를 위해 사용
  • 리턴 타입을 선언하지 않음
  • 생성자가 선언되지 않은 경우 컴파일러가 자동으로 기본생성자(매개변수x)를 생성하지만, 생성자가 하나라도 선언된 경우 기본생성자는 생성되지 않는다.
  • 생성자는 중복가능하지만 매개변수의 형태는 달라야 함

위임 생성자

  • 여러 생성자에 중복 작성된 코드를 간소화하기 위해 범용으로 사용가능한 생성자만 남김
  • 타겟 생성자: 객체 초기화를 전담하는 생성자
  • 위임 생성자: 타겟 생성자를 호출하는 생성자, 객체 초기화를 타겟 생성자에게 위임

소멸자(destructor)

  • 객체가 소멸되는 시점에서 자동으로 호출되는 멤버함수
  • 마무리작업(ex.할당된 메모리 해제, 파일저장/닫기, 네트워크 닫기 등)을 위해 사용
  • 리턴 타입을 선언하지 않음
  • 소멸자가 선언되지 않은 경우 컴파일러가 자동으로 기본소멸자를 생성
  • 중복 불가능

'학습 > C++' 카테고리의 다른 글

상속 기본 개념  (0) 2021.10.07
접근 지정자와 inline함수  (0) 2021.09.30
클래스 만들기  (0) 2021.09.16
string클래스#2  (0) 2021.09.16
string클래스 #1  (0) 2021.09.09