程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++基類說明解析

C++基類說明解析

編輯:C++入門知識

C++通過繼承機制,可以利用已有的數據類型來定義新的數據類型,下面文章給出了C++基類來管理內存的完整內存池管理程序和測試程序的源代碼,供大家學習切磋。

作為繼承,主要有三種:公有繼承,私有繼承默認繼承方式),保護繼承。公有繼承:基類中的公有成員在派生類中仍公有;基類中的保護成員在派生類中仍保護;基類中的私有成員在派生類中不可見,僅基類可見。

  • 總結C++編程技巧
  • 深度剖析C++應用程序特點
  • 影響C++/C程序的幾大要素
  • 淺析C++棧使用方法
  • 一覽Visual C++開發工具新特性

私有繼承:基類中的公有成員在派生類中為私有;C++基類中的保護成員在派生類中為私有;基類中的私有成員在派生類中不可見,僅基類可見。保護繼承:基類中的公有成員在派生類中為保護;

C++基類中的保護成員在派生類中為保護;基類中的私有成員在派生類中不可見,僅C++基類可見。通過繼承機制,派生類繼承了基類的成員,所繼承的成員只屬於派生類。即基類和派生類各有一份這樣的成員,這點很重要。接下來,我們不慌看繼承,回到類來看:(個人理解所謂可見性即是調用權限!)

接下來,我們不慌看繼承,回到類來看:

  1. #include《iostream》  
  2. using namespace std;  
  3. class A{  
  4. public:  
  5. void dump()const{....}  
  6. protected:  
  7. void get_x(){x++;}  
  8. private:  
  9. int x;  
  10. };  
  11. class B:public A  
  12. {  
  13. public:  
  14. void get(){ get_x();}  
  15. /* void get_y(){ y=x;} */  
  16. void compare(A &a){ a.get_x();}  
  17. protected:  
  18. void set(){...}  
  19. private:  
  20. int y;  
  21. };  
  22. int main()  

於是我們知道,在派生類不可見的成員並不是不可訪問的,可以通過間接的方式訪問!總結上面的,做了一張表:(注:派生類中成員的可見性是指繼承來的和自身添加的成員。

成員

C++基類類)

派生類

main

私有數據

可見

  不可見

  不可見

私有函數

  可見

  不可見

  不可見

保護數據

  可見

  可見

不可見

保護函數

  可見

  可見

  不可見

公有數據

  可見

  可見

  可見

公有函數

  可見

  可見

可見

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved