Destructor
์๋ฉธ์๋ ํน๋ณํ ๋ฉค๋ฒํจ์์ด๋ค. ๊ฐ์ฒด๊ฐ ์์ฑ๋๊ณ , ์๋ฉธ๋ ๋ ํธ์ถ๋๋ค.
์๋ฉธ์์ ๋ชฉ์ ์, ์ปดํจํ ์์์ ์ ์ฝ์ ์๋ค. ๊ฐ์ฒด๊ฐ ์์ฑ๋๊ณ ๊ณ์ ๋จ์์๋ค๋ฉด ๋ฉ๋ชจ๋ฆฌ ์์์ ๋ง์ด ์๋ชจํ๊ฒ ๋๋ค.
์์ฑ์์ ๋ง์ฐฌ๊ฐ์ง๋ก, ๊ตณ์ด ์ ์ด์ฃผ์ง ์๋๋ค๋ฉด, ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ฉธ์๋ ํธ์ถ๋๋ฉฐ, ๋ง์ฝ ๋ด๊ฐ ์ ์ด์ค๋ค๋ฉด ๊ฐ์ฒด๊ฐ ์์ฑ๋๊ณ ์๋ฉธํ ๋๋ง๋ค ํธ์ถ๋์ด ๋ด๊ฐ ์ํ๋ ์์ ์ ์ํํ๋ค.
๋ด๊ฐ ์๋ฉธ์๋ฅผ ๋ช ์์ ์ผ๋ก ์ ์ด์ค๋ค๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ํธ์ถ๋ ์๋ฉธ์๋ ์๋ํ์ง ์๊ณ , ๋ด๊ฐ ์ ์ด์ค ๋ ์๋ง ์๋ํ๋ค.
Example
์์ฑ์ย : new, file open ์๋ฉธ์ย : delete, file close
class Point{
private:
int x;
int y;
public:
Point(): x(0), y(0){}
Point(int _x, int _y): x(_x), y(_y) {}
~Point(){
cout << "์๋ฉธ๋์์ต๋๋ค." << endl;
}
};
int main(){
Point pt1(1,2);
return 0;
}
Output
์๋ฉธ๋์์ต๋๋ค.