繼承是物件導向程式設計中最重要的乙個概念。繼承允許我們根據乙個類來定義另乙個類,達到了**功能重用效果。
當建立乙個類時,如果待建立的類與另乙個類存在某些共同特徵,程式設計師不需要全部重新編寫成員變數和成員函式,只需指定繼承另乙個類即可,被繼承的類稱為基類或父類,新建的類稱為派生類或子類。
定義乙個派生類,需要指定它的基類,語法如下:
class
派生類:繼承方基類;
繼承方式是 public、protected 或 private 其中的乙個,基類是之前定義過的某個類的名稱。如果未指定繼承方式,則預設為private。
選秀之後,被選中的超女成了宮女和王妃,宮女和王妃從超女那裡繼承了姓名、年齡、身高、身材、顏值等特徵,還會具備一些新的特徵,如果是王妃,有稱號、居住的宮殿、奉䘵、為她服務的太監和宮女數量等。還有,王妃的年齡、身材和顏值都不能隨便討論的,會掉腦袋的。
示例(book235.cpp)
/*
* 程式名:book235.cpp,此程式用於演示c++類的繼承與派生。
*/#include
#include
class
cgirl
// 定義超女類};
class
ckcon
:public cgirl // 定義王妃類,從超女類繼承};
intmain()
執行效果
當乙個類派生自基類,該基類可以被繼承為 public、protected 或 private 幾種方式,當使用不同型別的繼承時,遵循以下幾個規則:
1)公有繼承(public):當類派生以public方式繼承時,基類的公有成員也是派生類的公有成員,基類的保護成員也是派生類的保護成員,基類的私有成員不能直接被派生類訪問,但是可以通過呼叫基類的公有和保護成員來訪問。
2)保護繼承(protected): 當類派生以protected方式繼承時,基類的公有和保護成員將成為派生類的保護成員。
3)私有繼承(private):當類派生以private方式繼承時,基類的公有和保護成員將成為派生類的私有成員。
我們幾乎不使用 protected 或 private 繼承,通常使用 public 繼承。
五、基類與派生類的指標
基類的指標可以指向基類物件,也可以指向派生類物件,但是不能通過基類的指標訪問派生類的成員。
派生類的指標可以指向派生類物件,但不可以指向基類物件。
多繼承即乙個派生類可以有多個基類,它繼承了多個基類的特性。
c++ 類可以從多個基類繼承成員,語法如下:
class
派生類:繼承方式1
>
基類名1
>
,繼承方式2
>
基類名2
>
,…;
其中,繼承方式是 public、protected 或 private 其中的乙個,用來修飾每個基類,各個基類之間用逗號分隔。
類的繼承與派生在windows環境開發中用得比較多,在linux環境下用得比較少,這麼多年來,我只是偶爾用一下,大家只要了解繼承與派生基本用法就行了,如果在實際開發中真的要用到類的繼承,再來研究也不遲,這個沒什麼技術難度。
編寫示例程式,把本章節介紹的知識點全部演示一遍,用程式演示可以加深理解和映象。
c 類的繼承與派生
一 基本概念 1 類的繼承,是新的類從已有類那裡得到已有的特性。或從已有類產生新類的過程就是類的派生。原有的類稱為基類或父類,產生的新類稱為派生類或子類。2 派生類的宣告 class 派生類名 繼承方式 基類名1,繼承方式 基類名2,繼承方式 基類名n 3 乙個派生類可以同時有多個基類,這種情況稱為...
C 類的繼承與派生
1.乙個包含多級派生 構造 析構函式的綜合例項 include using namespace std class a a 析構函式,關於析構函式只做簡單介紹 void f1 int i protected void f2 int j private int k class b public a 定...
C 類的繼承與派生
繼承是物件導向程式設計中最重要的乙個概念。繼承允許我們根據乙個類來定義另乙個類,達到了 功能重用效果。當建立乙個類時,如果待建立的類與另乙個類存在某些共同特徵,程式設計師不需要全部重新編寫成員變數和成員函式,只需指定繼承另乙個類即可,被繼承的類稱為基類或父類,新建的類稱為派生類或子類。定義乙個派生類...