語言從入門到精通-第10章類析構函數(shù)_第1頁
語言從入門到精通-第10章類析構函數(shù)_第2頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

類的析構函數(shù)析構函數(shù)的概念析構函數(shù)的作用調(diào)用構造函數(shù)和析構函數(shù)的順序析構函數(shù)的概念

析構函數(shù)(Destructor)也是一個特殊的成員函數(shù),它的作用與構造函數(shù)相反,它的名字是類名的前面加一個“~”符號,析構函數(shù)是與構造函數(shù)作用相反的函數(shù)。當對象的生命期結束時,會自動執(zhí)行析構函數(shù)。析構函數(shù)的一般形式如下:class類名{ ~析構函數(shù)名() { …… //函數(shù)體省略 }};【范例10-6】將通過實例講述定義類的析構函數(shù)析構函數(shù)的作用

析構函數(shù)的作用并不是刪除對象,而是在撤銷對象占用的內(nèi)存之前完成一些清理工作,使這部分內(nèi)存可以被程序分配給新對象使用。當對象的生命周期結束時,析構函數(shù)會自動調(diào)用,分別有以下情況:(1)如果在一個函數(shù)中定義了一個對象(它是自動局部對象),當這個函數(shù)被調(diào)用結束時,對象應該釋放,在對象釋放前自動執(zhí)行析構函數(shù);static局部對象在函數(shù)調(diào)用結束時對象并不釋放,因此也不調(diào)用析構函數(shù),只在main函數(shù)結束或調(diào)用exit函數(shù)結束程序時,才調(diào)用static局部對象的析構函數(shù);(2)如果定義了一個全局對象,則在程序的流程離開其作用域時(如main函數(shù)結束或調(diào)用exit函數(shù))時,調(diào)用該全局對象的析構函數(shù);(3)如果用new運算符動態(tài)地建立了一個對象,當用delete運算符釋放該對象時,先調(diào)用該對象的析構函數(shù)。調(diào)用構造函數(shù)和析構函數(shù)的順序

在一般情況下,調(diào)用析構函數(shù)的次序正好與調(diào)用構造函數(shù)的次序相反,最先被調(diào)用的構造函數(shù),其對應的(同一對象中的)析構函數(shù)最后被調(diào)用,而最后被調(diào)用的構造函數(shù),其對應的析構函數(shù)最先被調(diào)用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論