下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、類的 static,const,static const , const static成員的初始化1. 類里的 const 成員初始化:在一個(gè)類里建立一個(gè) const 時(shí),不能給它初值。像class fooprivate :const int i = 100;public:foo(.;這樣的初始化方式是不能通過編譯的, 因?yàn)樵陬悓?duì)象里進(jìn)行了存儲(chǔ)空間分配, 編譯器不能知 道 const 的內(nèi)容是什么,所以不能把它用作編譯期間的常量。這意味著對(duì)于類里的常數(shù)表達(dá) 式來說, const 就像它在 C 中一樣沒有作用。因此這個(gè)初始化工作必須發(fā)生在構(gòu)造函數(shù)里, 并且,要在構(gòu)造函數(shù)的某個(gè)特別的地方。因?yàn)?c
2、onst 必須在建立它的地方被初始化,所以在 構(gòu)造函數(shù)的主體里, const 必須已初始化了,否則,就只有等待,直到在構(gòu)造函數(shù)主體以后 的某個(gè)地方給它初始化,這意味著過一會(huì)兒才給 const 初始化。當(dāng)然,無法防止在在構(gòu)造函 數(shù)主體的不同地方改變 const 的值。構(gòu)造函數(shù)初始化表達(dá)式class fooprivate :const int i = 100;public:foo(.;如果構(gòu)造函數(shù)是在類外定義,則可以這樣寫:class fooprivate :const int i;public:foo(;.;foo:foo(: i(100.2. 類里的 static 成員初始化:類中的 stat
3、ic 變量是屬于類的,而不是屬于某個(gè)對(duì)象,它在整個(gè)程序的運(yùn)行過程中只有一個(gè) 副本,因此不能在定義對(duì)象時(shí)對(duì)變量初始化,就是不能用構(gòu)造函數(shù)來初始化。其正確的初始化方式是: <數(shù)據(jù)類型 ><類名 >:<靜態(tài)數(shù)據(jù)成員名 >=<值 > ,例如class fooprivate :const int i;public:foo(;.;int foo:i=100;這表明:(1初始化在類體外進(jìn)行,而前面不加 static ,以免與一般靜態(tài)變量或?qū)ο笙嗷煜?2初始化時(shí)不加該成員的訪問權(quán)限控制符 private , public 等。(3初始化時(shí)使用作用域運(yùn)算符來標(biāo)明
4、它所屬類,因此,靜態(tài)數(shù)據(jù)成員是類的成員,而不是 對(duì)象的成員。3. 類里的 static const 和 const static成員初始化:在找 static 成員的初始化學(xué)習(xí)資料時(shí),筆者發(fā)現(xiàn)了網(wǎng)上有很多關(guān)于 static const 成員,也就 是全局的靜態(tài)常量的初始化的資料。 const 成員要在構(gòu)造函數(shù)初始化,而 static 成員在需要 在在類體外初始化, 那么 static const 和 const static 的成員應(yīng)該在哪里進(jìn)行初始化呢?這兩 個(gè)寫法又會(huì)有什么不一樣嗎?這引起了筆者的興趣。 在網(wǎng)上查閱了相關(guān)資料和做了相關(guān)實(shí)驗(yàn) 后,筆者確認(rèn)了只要用 static 關(guān)鍵字修飾的成員的初始化方式和只有 static 關(guān)鍵字修飾的成 員一樣,都必須在類體外初始化,而無論 static 在 const 前面還是后面。比如:class Testpublic:static const int MASK1;static const int MASK2;const int Test:MASK1 = 0xFFFF;const int Test:MASK2 = 0xFFFF;至于兩種方式的區(qū)別, 我還不知道, 下面是在網(wǎng)上找到的一個(gè)關(guān)于它們區(qū)別的說法, 僅供大 家參
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 保護(hù)鼻子健康教案反思
- 角形的邊說課稿
- 教師職業(yè)病健康知識(shí)講座
- 展覽合同終止合同協(xié)議范例
- 市政工程保溫板施工合同
- 消費(fèi)者權(quán)益爭(zhēng)議解決協(xié)議
- 房屋建筑施工合同審計(jì)
- 辦公樓廁所翻新合同樣本
- 家電企業(yè)會(huì)計(jì)人員聘用協(xié)議
- 酒店窗戶安裝施工協(xié)議
- 建筑工程初中級(jí)職稱考試法律法規(guī)復(fù)習(xí)題(含答案)
- 新花大道(花都大道~迎賓大道)工程 設(shè)計(jì)說明
- 漢英翻譯基礎(chǔ)教程馮慶華
- Transformer架構(gòu)下的量?jī)r(jià)選股策略:ChatGPT核心算法應(yīng)用于量化投資
- 公司供貨單(鋼材類)
- 北京中考完形填空專項(xiàng)試題匯編(有答案)
- 廉潔承諾書(項(xiàng)目經(jīng)理或項(xiàng)目負(fù)責(zé)人)
- 國(guó)開電大《公共關(guān)系學(xué)》實(shí)訓(xùn)項(xiàng)目1公關(guān)三要素分析
- 出海東南亞電商平臺(tái)Shopee介紹課件
- LB/T 073-2019旅行社旅游產(chǎn)品質(zhì)量?jī)?yōu)化要求
- GB/T 4723-2017印制電路用覆銅箔酚醛紙層壓板
評(píng)論
0/150
提交評(píng)論