最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++控制權(quán)限關(guān)鍵字protected

 更新時(shí)間:2022年01月05日 10:48:37   作者:?梁唐  
這篇文章主要介紹了C++控制權(quán)限關(guān)鍵字protected,protected和private類似,而對(duì)于派生類來說,protected與public類似,下面來一起倆姐更多詳細(xì)內(nèi)容吧,需要的小伙伴可以參考一下

文章轉(zhuǎn)自公眾號(hào):Coder梁(ID:Coder_LT)

關(guān)鍵字protectedprivate相似,在類外只能用公有類成員來訪問protected成員。只有在派生的時(shí)候,privateprotected關(guān)鍵字才能體現(xiàn)出差異來,派生類的成員可以直接訪問基類的保護(hù)成員,但不能直接訪問基類的私有成員。因此對(duì)于類外部來說,protectedprivate類似,而對(duì)于派生類來說,protectedpublic類似。

比如類Human類將name成員設(shè)置為protected:

class Human {
? ?protected:
? ? ?string name;
? ? ...
};

在這種情況下它的派生類Hero可以直接訪問name,而不需要使用Human中的方法:

class Hero: public Human {
?void show() {
? ? ? ? cout << name << endl;
? ? } ?
};

使用protected關(guān)鍵字在一些情況下可以簡(jiǎn)化代碼的編寫工作,但也會(huì)存在一些設(shè)計(jì)缺陷。比如有的時(shí)候,有些變量值我們也不希望派生類能夠直接修改。

void Hero::modify(const string& n) {
? ? name = n;
}

比如原本name名字是初始化之后不允許修改的,但由于它被定義成了protected,所以在派生類當(dāng)中可以隨意修改,這顯然違背了我們的設(shè)計(jì)初衷。

針對(duì)這種情況,比較好的做法是將所有的數(shù)據(jù)成員都設(shè)置成private。但是可以將一些特殊的方法設(shè)置成protected,這樣既可以允許派生類調(diào)用這些protected的方法得到便利,又不會(huì)過度開放權(quán)限導(dǎo)致敏感數(shù)據(jù)被篡改。

到此這篇關(guān)于C++控制權(quán)限關(guān)鍵字protected的文章就介紹到這了,更多相關(guān)C++protected關(guān)鍵字內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

广昌县| 平谷区| 密山市| 阿拉尔市| 南平市| 汤原县| 玉环县| 南靖县| 涿鹿县| 天长市| 缙云县| 改则县| 本溪市| 东兴市| 黄平县| 清水河县| 堆龙德庆县| 广宗县| 威信县| 额尔古纳市| 故城县| 隆昌县| 神木县| 淄博市| 修文县| 车致| 资兴市| 桐城市| 宜黄县| 辰溪县| 射洪县| 师宗县| 揭西县| 延边| 兴宁市| 新竹市| 鸡泽县| 左贡县| 宾川县| 灌南县| 佛教|