国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > C++ > 正文

C++教程:C++的共有類和私有類

2020-05-23 14:26:07
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
在上一章,我們提到了類的封裝性。那么我們是如何保證類內(nèi)部的數(shù)據(jù)和操作不被外部訪問(wèn)或執(zhí)行呢?這時(shí)候,我們就要說(shuō)說(shuō)什么是公有(Public)和私有(Private)了。

所謂公有,就是外部可以訪問(wèn)的數(shù)據(jù)或執(zhí)行的操作。比如一個(gè)人的身高(數(shù)據(jù))是可以較直接地獲得的,一個(gè)人吃東西(操作)是可以受外部控制的。私有就是外部不能直接訪問(wèn)的數(shù)據(jù)或執(zhí)行的操作。比如一個(gè)人的心跳次數(shù)(數(shù)據(jù))和消化過(guò)程(操作),雖然他們都是客觀存在,但我們卻不能直接地獲取心跳數(shù)據(jù)或控制消化過(guò)程。

如果一個(gè)類的所有數(shù)據(jù)和操作都是公有的,那么它將完全暴露在外,同結(jié)構(gòu)一樣沒(méi)有安全性。如果一個(gè)類的所有數(shù)據(jù)和操作都是私有的,那么它將完全與外界隔絕,這樣的類也沒(méi)有存在的意義。

下面我們來(lái)看一下如何定義公有和私有的成員數(shù)據(jù):
class Node//定義一個(gè)鏈表結(jié)點(diǎn)類
{
   public:
   int idata;//數(shù)據(jù)能夠被外部訪問(wèn)
   char cdata;//數(shù)據(jù)能夠被外部訪問(wèn)
   private:
   Node *prior;//前驅(qū)結(jié)點(diǎn)的存儲(chǔ)位置保密
   Node *next;//后繼結(jié)點(diǎn)的存儲(chǔ)位置保密
};
按照上面的寫(xiě)法,如果我們有一個(gè)結(jié)點(diǎn)對(duì)象lnode,那么lnode.idata和lnode.cdata都是可以被外界直接訪問(wèn)的,而lnode.prior和lnode.next則不能被外界直接訪問(wèn)。

需要注意的是,如果我們?cè)诙x或聲明時(shí)不說(shuō)明該成員數(shù)據(jù)(或成員函數(shù))是公有的還是私有的,則默認(rèn)為私有的。所以從習(xí)慣上我們總是把定義的成員數(shù)據(jù)和成員函數(shù)分為公有和私有兩類,先定義公有再定義私有,方便閱讀代碼時(shí)能夠區(qū)分。雖然在定義時(shí)可以有多個(gè)public或private保留字,但是我們不推薦那樣的寫(xiě)法。 

另外,以后我們還會(huì)遇到一個(gè)名為protected的保留,目前它和private的效果是一樣的,即成員數(shù)據(jù)或成員函數(shù)不能被外界直接訪問(wèn)或調(diào)用。在以后的章節(jié)我們會(huì)了解到private和protected的區(qū)別。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 双流县| 崇左市| 镇远县| 佛坪县| 蕉岭县| 井冈山市| 区。| 法库县| 高雄县| 临猗县| 建德市| 邹平县| 泰安市| 雷波县| 五寨县| 榕江县| 鹤峰县| 寻乌县| 灵石县| 崇信县| 十堰市| 临猗县| 鹰潭市| 呈贡县| 铜山县| 云浮市| 五家渠市| 桓台县| 嵩明县| 璧山县| 民勤县| 儋州市| 淮安市| 高淳县| 当阳市| 高青县| 沧源| 巴中市| 广德县| 彰武县| 门源|