訪問控制關(guān)鍵字
- public
- 其后聲明的所有的成員可以被所有人訪問瓤球。
- priveta
- 除了該類型的創(chuàng)建者和類的內(nèi)部成員函數(shù)之外,任何人都不能被訪問
- protected
- 繼承的結(jié)構(gòu)可以訪問protected成員,但是不能訪問private成員。
友元
- 允許顯式地不屬于當(dāng)前結(jié)構(gòu)的一個(gè)成員函數(shù)訪問當(dāng)前結(jié)構(gòu)中的數(shù)據(jù)堪藐,他可以在該機(jī)構(gòu)內(nèi)部聲明這個(gè)函數(shù)為friend(友元)一個(gè)friend 必須在一個(gè)結(jié)構(gòu)內(nèi)聲明
- 一個(gè)函數(shù)被聲明為friend莉兰,就意味著它不是這個(gè)類的成員函數(shù),但是確可以修改該類的私有成員礁竞,而且必須被列在該類的定義當(dāng)中糖荒,因此可以認(rèn)為他是一個(gè)特權(quán)函數(shù)。
- friend 關(guān)鍵字模捂,是為了解決一些實(shí)際問題捶朵,這也說明了這個(gè)語言是不純的。(不是完全的面向?qū)ο笳Z言)
對象布局
- 訪問說明符是結(jié)構(gòu)的一部分狂男,但是并不影響從這個(gè)結(jié)構(gòu)創(chuàng)建對象泉孩,程序開始運(yùn)行之前,所有的訪問說明信息都消失了并淋。訪問說明信息是在編譯期間消失的寓搬,在程序的運(yùn)行期間,對象編程了一塊儲(chǔ)存區(qū)域县耽。
類
- class 和 struct 區(qū)別句喷,class的成員默認(rèn)為private,而struct的成員默認(rèn)為public
- 訪問控制的真正價(jià)值體現(xiàn)在開發(fā)階段中的防止越界兔毙。
- 只有編譯器知道類成員的保護(hù)級(jí)別唾琼。所有所有的訪問保護(hù)檢查都是由編譯器來完成的,在運(yùn)行期間不再檢查澎剥。