析構(gòu)函數(shù)與構(gòu)造函數(shù)有什么區(qū)別?
構(gòu)造函數(shù)只是起初始化值的作用,但實(shí)例化一個(gè)對(duì)象的時(shí)候,可以通過實(shí)例去傳遞參數(shù),從主函數(shù)傳遞到其他的函數(shù)里面,這樣就使其他的函數(shù)里面有值了。
規(guī)則,只要你一實(shí)例化對(duì)象,系統(tǒng)自動(dòng)回調(diào)用一個(gè)構(gòu)造函數(shù),就是你不寫,編譯器也自動(dòng)調(diào)用一次。析構(gòu)函數(shù)與構(gòu)造函數(shù)的作用相反,用于撤銷對(duì)象的一些特殊任務(wù)處理,可以是釋放對(duì)象分配的內(nèi)存空間;特點(diǎn):析構(gòu)函數(shù)與構(gòu)造函數(shù)同名,但該函數(shù)前面加~。析構(gòu)函數(shù)沒有參數(shù),也沒有返回值,而且不能重載,在一個(gè)類中只能有一個(gè)析構(gòu)函數(shù)。當(dāng)撤銷對(duì)象時(shí),編譯器也會(huì)自動(dòng)調(diào)用析構(gòu)函數(shù)。每一個(gè)類必須有一個(gè)析構(gòu)函數(shù),用戶可以自定義析構(gòu)函數(shù),也可以是編譯器自動(dòng)生成默認(rèn)的析構(gòu)函數(shù)。一般析構(gòu)函數(shù)定義為類的公有成員。