소멸자(destructor)
소멸자(destructor)
소멸자는 객체 소멸시 자동으로 호출되는 함수입니다. 소멸자는 다음의 특징을 갖습니다.
소멸자의 이름은 클래스와 같고 앞에 ~가 붙는다.
소멸자는 반환자료형이 없고,
return명령으로 값을 반환할 수 없다.소멸자는 매개변수가 없다.
소멸자는 다중정의(함수오버로딩) 할 수 없으며 클래스에 단 하나만 정의한다.
소멸자는 일반적으로 public 멤버로 선언한다.
상속으로 통해 파생클래스에 정의하는 경우
virtual을 지정하여 가상함수가 되도록 하는것이 좋다
생성자의 기본적인 선언 형식
class ClassName {
(...)
public:
~ClassName() { (...) } // 소멸자 함수
(...)
};소멸자 함수는 이러한 특징 때문에 일반적으로 클래스에서 동적할당된 멤버 변수가 있다면 이때 같이 제거하는게 일반적이다.
Person 클래스
이름과 나이를 갖으며 생성시 전달받은 문자열을 그 길이만큼 동적할당하여 저장한다.
Pserson 클래스 속성
속성
설명
char* name
이름
int age
나이
Pserson 클래스 메서드
속성
설명
Person
생성자
~Person
소멸자
showMe
이름과 나이를 출력
Last updated