C++中的析构函数
文章目錄
- 1 析構函數(shù)
- 1.1 析構函數(shù)簡介
1 析構函數(shù)
1.1 析構函數(shù)簡介
C++的類中可以定義一個特殊的清理函數(shù):
- 這個特殊的清理函數(shù)叫做析構函數(shù)。
- 析構函數(shù)的功能與構造函數(shù)相反。
- 析構函數(shù)是對象銷毀時進行清理的特殊函數(shù)。
- 析構函數(shù)在對象銷毀時自動被調用。
- 析構函數(shù)是對象釋放系統(tǒng)資源的保障。
析構函數(shù)的定義:~ClassName()
- 析構函數(shù)沒有參數(shù)也沒有返回值類型聲明。
- 析構函數(shù)在對象銷毀時自動被調用。
析構函數(shù)的定義準則:
- 當類中自定義了構造函數(shù),并且構造函數(shù)中使用了系統(tǒng)資源(如:內存申請,文件打開,等),則需要自定義析構函數(shù)。
作用: 對象銷毀前,做清理工作。具體的清理工作,一般和構造函數(shù)對應,比如:如果在構造函數(shù)中,使用new分配了內存,就需在析構函數(shù)中用delete釋放。如果構造函數(shù)中沒有申請資源(主要是內存資源),那么很少使用析構函數(shù)。
訪問權限: 一般都使用public。
使用方法:
- 不能主動調用。
- 對象銷毀時,自動調用。
- 如果不定義,編譯器會自動生成一個析構函數(shù)(什么也不做)。
參考資料:
總結
- 上一篇: 实数的表示法
- 下一篇: 部队卫生队怎么描述自己抑郁