l C++作用域運(yùn)算符 :
“ ::”主要有2種應(yīng)用方式。
其一,類與類的成員之間
聲明一個(gè)類A,類A里聲明了一個(gè)成員函數(shù)void f( ),但沒有在類的聲明里給出f的定義,
那么在類外定義f時(shí),就要寫成void A::f( ),表示這個(gè)f( )函數(shù)是類A的成員函數(shù)。
其二,作用域。
簡單分為:全局作用域,局部作用域,語句作用域
作用域優(yōu)先級:范圍越小優(yōu)先級越高
作用域運(yùn)算符:"::"
如果希望在局部變量的作用域內(nèi)使用同名的全局變量,可以在該變量前加上"::","::"稱為作用域運(yùn)算符.
### 構(gòu)造函數(shù):
構(gòu)造函數(shù)是成員函數(shù)的一種,名字 與 類 的名字相同,可以有參數(shù),但是不能有返回值(void也不行)。
其作用是對 對象進(jìn)行初始化,比如給成員對象賦初始值。
若定義類 時(shí)沒有寫構(gòu)造函數(shù),則編譯器自動生成一個(gè)默認(rèn)的無參的構(gòu)造函數(shù)。
(默認(rèn)構(gòu)造函數(shù)沒有參數(shù),不做任何操作)。
對象生成時(shí),構(gòu)造函數(shù)自動被調(diào)用,對象一旦生成,就再也不能在其上執(zhí)行構(gòu)造函數(shù)。
一個(gè)類可以有多個(gè)構(gòu)造函數(shù)。
# 為什么需要構(gòu)造函數(shù)?
其執(zhí)行了必要的初始化操作,不必專門再寫初始化函數(shù),亦不必?fù)?dān)心忘記書寫初始化函數(shù)。
什么是構(gòu)造函數(shù)?通俗的講,在類中,函數(shù)名 和 類名 相同的函數(shù)稱為構(gòu)造函數(shù)。
它的作用是在建立一個(gè)對象時(shí),作某些初始化的工作(例如對數(shù)據(jù)賦予初值),
(僅僅負(fù)責(zé)創(chuàng)建對象而不做任何賦值操作..疑問?)在一個(gè)類中可以有多個(gè)構(gòu)造函數(shù)。
如果一個(gè)都沒有,編譯器將為該類產(chǎn)生一個(gè)默認(rèn)的構(gòu)造函數(shù)。
構(gòu)造函數(shù)惟一的語法限制是 它不能指定 返回類型,甚至void 也不行。
不帶參數(shù)的構(gòu)造函數(shù) 一般形式為
類名 對象名( ) { 函數(shù)體 }
帶參數(shù)的構(gòu)造函數(shù):不帶參數(shù)的構(gòu)造函數(shù),只能以固定不變的值初始化對象。
帶參數(shù)構(gòu)造函數(shù)的初始化要靈活的多,通過傳遞給 構(gòu)造函數(shù) 的參數(shù),可以賦予對象 不同的初始值。
一般形式為:構(gòu)造函數(shù)名(形參表);
創(chuàng)建對象使用時(shí):類名 對象名(實(shí)參表);
構(gòu)造函數(shù)參數(shù)的初始值:構(gòu)造函數(shù)的參數(shù)可以有缺省值。
當(dāng)定義對象時(shí),如果不給出參數(shù),就自動把相應(yīng)的缺省參數(shù)值賦給對象。一般形式為:
構(gòu)造函數(shù)名(參數(shù)=缺省值,參數(shù)=缺省值,……);析構(gòu)函數(shù):
當(dāng)一個(gè)類的對象離開作用域時(shí),析構(gòu)函數(shù)將被調(diào)用(系統(tǒng)自動調(diào)用)。
析構(gòu)函數(shù)的名字和類名一樣,不過要在前面加上 ~ 。對一個(gè)類來說,只能允許一個(gè)析構(gòu)函數(shù),析構(gòu)函數(shù)不能有參數(shù),
并且也沒有返回值。析構(gòu)函數(shù)的作用是完成一個(gè)清理工作,如釋放從堆中分配的內(nèi)存。
一個(gè)類中可以有多個(gè)構(gòu)造函數(shù),但析構(gòu)函數(shù)只能有一個(gè)。對象被析構(gòu)的順序,與其建立時(shí)的順序相反,
即后構(gòu)造的對象先析構(gòu)。
析構(gòu)函數(shù)(destructor) 與構(gòu)造函數(shù)相反,當(dāng)對象脫離其作用域時(shí)(例如對象所在的函數(shù)已調(diào)用完畢),
系統(tǒng)自動執(zhí)行析構(gòu)函數(shù)。析構(gòu)函數(shù)往往用來做“清理善后”工作(例如在建立對象時(shí)用new開辟了一片內(nèi)存空間,
應(yīng)在退出前在析構(gòu)函數(shù)中用delete釋放)
新聞熱點(diǎn)
疑難解答
圖片精選