您現在的位置是:首頁 > 綜藝首頁綜藝

據說百分之五十的程式設計師都不知道的函式!解構函式!

由 王萌曼漫 發表于 綜藝2022-12-04
簡介透過這個例子,我們可以看出,解構函式的呼叫是系統自動完成的,因為在主函式中沒有專門呼叫解構函式的語句,但是我們在輸出結果中卻看到了這樣的兩句話:QQ汽車使用年限到,報廢了

解構函式可以不寫嗎

據說百分之五十的程式設計師都不知道的函式!解構函式!

解構函式

解構函式也是類中比較特殊的一種函式,主要用於物件的撤銷,在物件撤銷時被自動呼叫,用於執行一些清理工作,如釋放由建構函式分配的記憶體等。所以解構函式是建構函式的逆函式。

解構函式的特點是:

(1)函式名和類名相同,並且要在函式名前加一個修飾符~。

(2)定義解構函式時不加返回型別。

(3)解構函式沒有引數。

(4)解構函式通常是系統在釋放所建立物件時自動呼叫的。

(5)一個類中只能有一個解構函式,不能過載。

建立一個類,該類包含解構函式。

據說百分之五十的程式設計師都不知道的函式!解構函式!

據說百分之五十的程式設計師都不知道的函式!解構函式!

本程式執行結果:

紅旗汽車生產出來了!

QQ汽車生產出來了!

紅旗_2004_東風

QQ_2005_長安

QQ汽車使用年限到,報廢了!

紅旗汽車使用年限到,報廢了!

透過這個例子,我們可以看出,解構函式的呼叫是系統自動完成的,因為在主函式中沒有專門呼叫解構函式的語句,但是我們在輸出結果中卻看到了這樣的兩句話:

QQ汽車使用年限到,報廢了!

紅旗汽車使用年限到,報廢了!

它們是類Car的解構函式中的輸出內容。

再來看一下它們的輸出順序,“QQ汽車使用年限到,報廢了!”這句話應該是在撤銷物件car2時,呼叫解構函式輸出的,因為物件car2的Name資料成員的值是“QQ”;同理“紅旗汽車使用年限到,報廢了!”這句話應該是在撤銷物件car1時,呼叫解構函式輸出的。但是在主函式的開始,我們是先生成物件car1,後生成物件car2。由此我們可以看出,系統撤銷物件的順序與生成物件的順序相反。

據說百分之五十的程式設計師都不知道的函式!解構函式!

2021超實用性的Python零基礎入門到進階影片原始碼

¥

2

淘寶

購買

好了,本文到此結束。如果對程式設計、計算機、程式設計師方面感興趣的話,歡迎私信聯絡我,隨時交流!點個關注,是對我莫大的鼓勵!