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

講述C++中的C++基類

編輯:C++入門知識

C++語言中有一個很重要的特性:Private派生確保C++基類中的方法只能被派生類的對象的方法間接使用,而不能被外部使用,除非這些方法已經被重新定義,下面就進行詳細說明。

繼承是一個進程,通過繼承,一個對象可以獲得另一個對象的屬性包括函數),並可向其中加入屬於自己的一些特征。作為C++語言的一種重要機制,用繼承的方法可以自動為一個提供來自另一個的操作和數據結構。

  • 引用C++/CLI中的棧對象總結
  • 解讀C++編譯器編譯功能
  • 淺析C++中的C++語法
  • 幾分鐘教您玩轉C++程序
  • C++操作符舉例說明

進而使程序設計人員在一個一般的的基礎上很快建立一個新的,而不必從零開始設計每個。當一個被其他的繼承時,被繼承的稱為基類,又稱為父。繼承其他屬性的稱為派生,又稱為子

一般情況下,繼承的進程起源於一個C++基類的定義,基類定義了其所有派生的公有屬性。從本質上講,基類具有同一集合中的公共屬性,派生繼承了這些屬性,並且增加了自己特有的屬性。從任何已存在的繼承的實質就是建造新的派生

從一個基類派生的繼承稱為單繼承,換句話說,派生只有一個直接C++基類。單繼承聲明語句的常用格式為:

  1. class 派生名: 訪問控制關鍵字 基類名  
  2. {  
  3.   數據成員和成員函數聲明  
  4. }; 

與此相對地,從多個基類派生的繼承稱為多繼承或多重繼承,也就是說,一個派生有多個直接基類。在某些面向對象的語言如Java)中不支持間的多重繼承而只支持單重繼承,即一個至多只能有一個直接父,因此實現似的功能需要借助接口等其他機制。而在C++中提供了多重繼承的語法支持,使得問題變得簡單了許多。多重繼承聲明語句的常用格式為:

  1. class 派生名: 訪問控制關鍵字 基類名1, 訪問控制關鍵字 基類名2,...  
  2. {  
  3.   數據成員和成員函數聲明  
  4. }; 

除了多重繼承之外,一個派生繼承多個基類還有一種方法,就是把派生作為基類再次供別的繼承,產生多層次的繼承關系。例如A派生B,B派生C,則稱A是B的直接基類B是C的直接基類A是C的間接基類

的層次結構也叫做繼承鏈。還是上面的例子,當建立C的對象時,A的構造函數最先被調用,接下來被調用的是B的構造函數,最後是C的構造函數。析構函數的調用順序正好相反。當一個派生繼承有層次的時,繼承鏈上的每個派生必須將它需要的變量傳遞給它的基類

在繼承聲明語句中,訪問控制關鍵字用於說明在基類定義中所聲明的成員和成員函數能夠在多大范圍內被派生所訪問。訪問控制關鍵字可為public, private或protected。如果訪問控制關鍵字為public。

則稱派生C++基類公有繼承,也稱公有派生。如果訪問控制關鍵字為private,則稱派生C++基類私有繼承,也稱私有派生。現在筆者將公有繼承和私有繼承的具體區別列表如下。

通過上表,我們可以將兩種派生的特點總結如下:

基類成員 基類private成員 基類public成員

派生方式

private public private public 派生成員 不可見 不可見 可見 可見 外部函數 不可見 不可見 不可見 可見

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