大麥植髮婉之C 類的繼承與派生

2022-06-29 05:24:10 字數 1639 閱讀 7877

植髮多少?大麥植髮婉之c++類的繼承與派生

繼承是物件導向程式設計中最重要的乙個概念。繼承允許我們根據乙個類來定義另乙個類,達到了**功能重用效果。

當建立乙個類時,如果待建立的類與另乙個類存在某些共同特徵,程式設計師不需要全部重新編寫成員變數和成員函式,只需指定繼承另乙個類即可,被繼承的類稱為基類或父類,新建的類稱為派生類或子類。

定義乙個派生類,需要指定它的基類,語法如下:

class 《派生類名》:《繼承方式》 《基類名》

;

繼承方式是 public、protected 或 private 其中的乙個,基類是之前定義過的某個類的名稱。如果未指定繼承方式,則預設為 private。

選秀之後,被選中的超女成了宮女和王妃,宮女和王妃從超女那裡繼承了姓名、年齡、身高、身材、顏值等特徵,還會具備一些新的特徵,如果是王妃,有稱號、居住的宮殿、奉祿、為她服務的太監和宮女數量等。還有,王妃的年齡、身材和顏值都不能隨便討論的,會掉腦袋的。

示例(book235.cpp)

/*

* 程式名:book235.cpp,此程式用於演示c++類的繼承與派生。

*/#include #include class cgirl    // 定義超女類}; 

class ckcon:public cgirl   // 定義王妃類,從超女類繼承}; 

int main()

執行效果

當乙個類派生自基類,該基類可以被繼承為 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 vector容器

植髮費用?大麥植髮婉之c vector容器 我們在宣告陣列的時候,採用的是datatype arrayname len 的形式,陣列在分配之後,不能調整大小,刪除和插入資料時操作十分的繁瑣,雖然可以採用鍊錶,但是鍊錶的操作更麻煩,我們希望有更簡單的方法。與string類一樣,向量vector 同屬於...

大麥植髮婉之C語言巨集定義

植髮多少?大麥植髮婉之c語言巨集定義 巨集 macro 是預處理命令的一種,它允許用乙個識別符號來表示乙個字串。先看乙個例子 include define n 100 int main 執行結果 120該示例中的語句int sum 20 n n被100代替了。define n 100就是巨集定義,n...

大麥植髮婉之C語言指標與二維陣列

植髮多少?大麥植髮婉之c語言指標與二維陣列 二維陣列在概念上是二維的,有行和列,但在記憶體中所有的陣列元素都是連續排列的,它們之間沒有 縫隙 以下面的二維陣列 a 為例 int a 3 4 從概念上理解,a 的分布像乙個矩陣 0 1 2 3 4 5 6 7 8 9 10 11 但在記憶體中,a 的分...