日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++中的private protected public区别

發布時間:2025/3/15 c/c++ 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++中的private protected public区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


標簽: c++ 5805人閱讀 評論(0) 收藏 舉報 分類: C++ Primer筆記(4) 當private,public,protected單純的作為一個類中的成員權限設置時:
private: 只能由該類中的函數、其友元函數訪問,不能被任何其他訪問,該類的對象也不能訪問.?

protected: 可以被該類中的函數、子類的函數、以及其友元函數訪問,但不能被該類的對象訪問?

public: 可以被該類中的函數、子類的函數、其友元函數訪問,也可以由該類的對象訪問
注:友元函數包括兩種:設為友元的全局函數,設為友元類中的成員函數
當private,public,protected作為繼承方式時:
對于公有繼承方式:?
(1)父類的public成員成為子類的public成員,允許類以外的代碼訪問這些成員
(2)父類的private成員仍舊是父類的private成員,子類成員不可以訪問這些成員;
(3)父類的protected成員成為子類的protected成員,只允許子類成員訪問;

(1) 基類成員對其對象的可見性:?

公有成員可見,其他不可見。這里保護成員同于私有成員。?

(2) 基類成員對派生類的可見性:?

公有成員和保護成員可見,而私有成員不可見。這里保護成員同于公有成員。?

(3) 基類成員對派生類對象的可見性:?

公有成員可見,其他成員不可見。?

所以,在公有繼承時,派生類的對象可以訪問基類中的公有成員;派生類的成員函數可以訪問基類中的公有成員和保護成員。這里,一定要區分清楚派生類的對象和派生類中的成員函數對基類的訪問是不同的。?

對于私有繼承方式:?

(1)父類的public成員成為子類的private成員,只允許子類成員訪問
(2)父類的private成員仍舊是父類的private成員,子類成員不可以訪問這些成員;
(3)父類的protected成員成為子類的private成員,只允許子類成員訪問;


(1) 基類成員對其對象的可見性:?

公有成員可見,其他成員不可見。?

(2) 基類成員對派生類的可見性:?

公有成員和保護成員是可見的,而私有成員是不可見的。?

(3) 基類成員對派生類對象的可見性:?

所有成員都是不可見的。?

所以,在私有繼承時,基類的成員只能由直接派生類訪問,而無法再往下繼承。?

對于保護繼承方式:?

(1)父類的public成員成為子類的protected成員,只允許子類成員訪問
(2)父類的private成員仍舊是父類的private成員,子類成員不可以訪問這些成員;
(3)父類的public成員成為子類的protected成員,只允許子類成員訪問;


這種繼承方式與私有繼承方式的情況相同。兩者的區別僅在于對派生類的成員而言,對基類成員有不同的可見性。?

上述所說的可見性也就是可訪問性。關于可訪問性還有另的一種說法。這種規則中,稱派生類的對象對基類訪問為水平訪問,稱派生類的派生類對基類的訪問為垂直訪問。?

一般規則如下:?

公有繼承時,水平訪問和垂直訪問對基類中的公有成員不受限制;?
私有繼承時,水平訪問和垂直訪問對基類中的公有成員也不能訪問;?
保護繼承時,對于垂直訪問同于公有繼承,對于水平訪問同于私有繼承。?

總結

以上是生活随笔為你收集整理的C++中的private protected public区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。