C 中public private和protected訪問

2021-04-17 12:55:44 字數 2548 閱讀 4132

1樓:雲哥

在本類中,protected與private是相同的,但protected可以被繼承,而private卻不行。只有公有成員才能在類的外部訪問。版如class a;a ca;ca.

a //error

ca.b // ok

ca.c //error

cb.c //error。雖權然c也是b的成員,但c在被繼承的時候變成私有或者受保護的成員了。

c++類的protected與private有何區別

2樓:兄弟連教育

這兩個是訪問類中成員許可權的限制符.在類外如果想使用類中的成員,只能直接使用public型別的,protected和private都是不能訪問的,對於類外使用而言,這兩個是完全相同的.

但是在基類的派生類中,可以直接訪問繼承而來的protected成員,但是不能訪問private限制的成員.所以在派生類中,可以訪問基類繼承而來的public和proected兩種型別的成員.在public公有派生下,繼承而來的成員訪問許可權不變.

protected派生下,public和protected都變成protected,private派生下,所有的繼承下來都是private了.

c++裡面的protect和public、private有什麼區別?

3樓:和睦空大

public修飾的成員變數

在程式的任何地方都可以被訪問,就是公共變數的意思,不需要通過成員專函式屬就可以由類的例項直接訪問

private修飾的成員變數

只有類內可直接訪問,私有的,類的例項要通過成員函式才可以訪問,這個可以起到資訊隱藏

protected是受保護變數

類內和子類可直接訪問,也就是說,基類中有protected成員,子類繼承於基類,那麼也可以訪問基類的protected成員,要是基類是private成員,則對於子類也是隱藏的,不可訪問

4樓:斯斯傑

public是這個程式的每一處都能訪問,無論是在本類內還本類外

protected則是在本類內和友類,子類中才能訪問

private則只能在本類內才能訪問,其它地方則不能

c++中protected和private的區別在**?

5樓:中冷眼

private成員只能被本類成員或者友元訪問。

protected成員除了以上可被訪問外,只有派生類(子類)可以訪問

6樓:匿名使用者

private成員只能被本類或者友類(friend class)的例項訪問。

protected成員除了以上可被訪問外,還可以被派生類例項(子類)訪問

7樓:牛牛a哥

private和protected繼承:派生類中成員函式可以訪問基類中的保護成員,但是不能訪問基類的私有成員;

8樓:匿名使用者

如果繼承的話,protected和private沒有區別,該類的客戶不能呼叫該欄位下的任何東西。

如果發生繼承。則子類可以使用父類的protected成員。不能使用private。

c++類中public,private,protected的用法與區別。

9樓:匿名使用者

protected型別的訪問機制與private一樣

在基類的派生類中,可以直接訪問繼承而來的protected成員,但是不能訪問private限制的成員.所以在派生類中,可以訪問基類繼承而來的public和proected兩種型別的成員.

在public公有派生下,繼承而來的成員訪問許可權不變.protected派生下,public和protected都變成protected,private派生下,所有的繼承下來都是private了

10樓:巴霞姝雍滌

在本類中,protected與private是相同的,但protected可以被繼承,而private卻不行。

只有公有成員才能在類的外部訪問。如classa;aca;ca.a

//error

ca.b

//ok

ca.c

//error

cb.c

//error。雖然c也是b的成員,但c在被繼承的時候變成私有或者受保護的成員了。

關於c++的class中的public,protected,private;

11樓:匿名使用者

public表明該資料成員、成bai員函式du是對所有使用者zhi開放的,所有用

戶都可dao以直接進行呼叫

private表示私有

專,私有的意屬思就是class內的可以直接用,別的都不可以直接使用,相當於私有財產,只能自己使用,除了自己,都不可以使用。

protected對於子女、朋友來說,就是public的,可以自由使用,沒有任何限制,而對於其他的外部class,protected就變成private。

C中如何判斷集合中資料是否相同,C 中如何判斷2個集合中資料是否相同

listlsta new list listlstb new list for int i 0 i static void main listlsttwo new list var equalvalue lstone.intersect lsttwo foreach var i in equalva...

pantone色卡中,如5455c中這個c是什麼意思

c是coated的意思,是塗層,5455c指的是該顏色是潘通品牌紙質版色卡上的一個色號 c 是coated 的意思.pantone色卡有三本,分別是solid coated c solid uncoated u solide matte m c是代表銅版紙印製光專澤面效果.u是代表膠版紙無光澤面的屬...

tor中的c音標是什麼,doctor中的c音標是什麼

doctor 英 d kt r 美 d kt r n.博士 醫生 v.篡改,偽造 閹割 1 doctor作 博士 解時,表示大學裡的最高學位。2 doctor作 醫生 解時,指有行醫資格並從事醫療工作的人。說 去看病 用see consult a doctor,請醫生 用send for call ...