析構(gòu)函數(shù)
1.概念
與構(gòu)造函數(shù)功能相反,在對(duì)象被銷毀時(shí),由編譯器自動(dòng)調(diào)用,完成類的一些資源清理和汕尾工作。
2.特性
析構(gòu)函數(shù)在類名(即構(gòu)造函數(shù)名)加上字符~。
析構(gòu)函數(shù)無參數(shù)無返回值。
一個(gè)類有且只有一個(gè)析構(gòu)函數(shù)。若未顯示定義,系統(tǒng)會(huì)自動(dòng)生成缺省的析構(gòu)函數(shù)。
對(duì)象生命周期結(jié)束時(shí),C++編譯系統(tǒng)系統(tǒng)自動(dòng)調(diào)用析構(gòu)函數(shù)。
注意析構(gòu)函數(shù)體內(nèi)并不是刪除對(duì)象,而是做一些清理工作。
四、賦值運(yùn)算符重載
1.概念
對(duì)于類類型的對(duì)象我們需要對(duì)‘=’重載,以完成類類型對(duì)象之間的賦值。
2.static成員
聲明為static的類成員(成員數(shù)據(jù)或成員函數(shù))稱為類的靜態(tài)成員。
特性:
(1)靜態(tài)成員為所有類對(duì)象所共享,不屬于某個(gè)具體的實(shí)例。
(2)類靜態(tài)成員即可用類名::靜態(tài)成員或者對(duì)象。靜態(tài)成員來訪問。
(3)類靜態(tài)成員變量必須在類外定義,定義時(shí)不添加static關(guān)鍵字。
(4)類的靜態(tài)成員函數(shù)沒有默認(rèn)的this指針,因此在它里面不能使用任何非靜態(tài)成員。
(5)靜態(tài)成員和類的普通成員一樣,也有public、protected、private3種訪問級(jí)別,也可以具有返回值,const修飾符等參數(shù)。
注意:
(1)靜態(tài)成員函數(shù)不可以調(diào)用非靜態(tài)成員函數(shù);
(2)非靜態(tài)的成員函數(shù)可以調(diào)用靜態(tài)的成員函數(shù)。
3.const修飾類成員
使用場(chǎng)景:
(1)const修飾形參,一般和引用同時(shí)使用;
(2)const修飾返回值;
(3)const修飾類數(shù)據(jù)成員,必須在構(gòu)造函數(shù)的初始化列表中初始化;
(4)const修飾類成員函數(shù),實(shí)際修飾隱含的this,表示在類中不可以對(duì)類的任何成員進(jìn)行修改;
(5)在const修飾的成員函數(shù)中要對(duì)類的某個(gè)數(shù)據(jù)成員進(jìn)行修改,該數(shù)據(jù)成員定義聲明是必須加mutable關(guān)鍵字。
說明:
const對(duì)象不可以調(diào)用非const成員函數(shù),非const成員函數(shù)可以調(diào)用const成員函數(shù)
-
函數(shù)
+關(guān)注
關(guān)注
3文章
4308瀏覽量
62444 -
C++
+關(guān)注
關(guān)注
22文章
2104瀏覽量
73503
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論