国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 江源县| 抚宁县| 石台县| 衢州市| 上高县| 康平县| 临清市| 墨江| 越西县| 琼中| 上饶市| 方城县| 都昌县| 富裕县| 乌拉特前旗| 阿拉善右旗| 女性| 北碚区| 洛宁县| 喀什市| 永登县| 宁海县| 京山县| 邯郸市| 广东省| 黄龙县| 康平县| 淮阳县| 盐山县| 宜春市| 阿克陶县| 黄陵县| 阿拉善右旗| 赫章县| 玛曲县| 拜泉县| 淮滨县| 观塘区| 临朐县| 宜良县| 阿拉善盟|