반응형
<소멸자>
객체가 소멸할 때 자동으로 실행되는 함수입니다.
소멸자 이름은 생성자 이름에 "~" 기호를 앞부분에 붙인 형태입니다.
ex) ~Student(); //소멸자
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #include <iostream> using namespace std; class CopyObj { public: CopyObj(const double h, const double w); ~CopyObj(); void showVar(); private: double height; double weight; }; CopyObj::CopyObj(const double h, const double w) { height = h; weight = w; } CopyObj::~CopyObj() { cout << "***** 객체 소멸 *****" << endl; } void CopyObj::showVar() { cout << "키 : " << height << endl; cout << "몸무게 : " << weight << endl; } int main(){ CopyObj p1(181.5, 79.3); //객체 생성 p1.showVar(); cout << "************************" << endl; CopyObj p2(p1); //객체 생성, 복사 생성자 호출 p2.showVar(); return 0; } | cs |
코드는 지난 복사 생성자에서 사용한 코드에 소멸자를 추가해서 사용했습니다. main 함수에는 따로 작업을 하지 않았습니다.
결과는 이렇게 두 객체가 소멸되면서 소멸자가 두 번 호출되는 것을 볼 수 있습니다.
반응형
'Programming > C++' 카테고리의 다른 글
[C++] this (0) | 2018.01.22 |
---|---|
[C++] 객체 포인터 (0) | 2018.01.22 |
[C++] 생성자 (0) | 2018.01.22 |
[C++] 클래스와 객체 (2) | 2018.01.22 |
[C++] 함수 오버로딩 (0) | 2018.01.22 |