C 繼承小結

2021-10-06 07:02:35 字數 1846 閱讀 9119

繼承是物件導向三大特性之一

繼承允許依據另乙個類來定義乙個類,這使得建立和維護乙個應用程式變得更容易。這樣做,也達到了重用**功能和提高執行效率的效果。

繼承代表了 is a 關係。

繼承的好處:可以減少重複的**

class a : public b;

a 類稱為子類或 派生類

b 類稱為父類或 基類

派生類中的成員,包含兩大部分:

一類是從基類繼承過來的,一類是自己增加的成員。

從基類繼承過過來的表現其共性,而新增的成員體現了其個性。

派生類可以訪問基類中所有的非私有成員。因此基類成員如果不想被派生類的成員函式訪問,則應在基類中宣告為 private。

我們可以根據訪問許可權總結出不同的訪問型別,如下所示:

訪問public

protected

private

同乙個類

yesyes

yes派生類

yesyes

no外部類

yesno

no乙個派生類繼承了所有的基類方法,但下列情況除外:

示例:

class

base1

;//公共繼承

class

son1

:public base1};

void

myclass()

//保護繼承

class

base2

;class

son2

:protected base2};

void

myclass2()

//私有繼承

class

base3

;class

son3

:private base3};

class

grandson3

:public son3

};

多繼承即乙個子類可以有多個父類,它繼承了多個父類的特性。

c++ 類可以從多個類繼承成員,語法如下:

class 《派生類名》:《繼承方式1>《基類名1>,《繼承方式2>《基類名2>,…

;

注:訪問修飾符繼承方式是 public、protected 或 private 其中的乙個,用來修飾每個基類,各個基類之間用逗號分隔。

示例:

#include

using

namespace std;

// 基類 shape

class

shape

void

setheight

(int h)

protected

:int width;

int height;};

// 基類 paintcost

class

paintcost};

// 派生類

class

rectangle

:public shape,

public paintcost};

intmain

(void

)

當上面的**被編譯和執行時,它會產生下列結果:

total area: 35

total paint cost: $2450

總結: 多繼承中如果父類**現了同名情況,子類使用時候要加作用域。

c 繼承小結

c 繼承類這一部分雖然不是很難,但是也很重要,在這一塊我自己做了一些總結,下面跟大家交流一下。首先簡單介紹一下繼承的概念 繼承 inheritance 是物件導向程式設計使 可以復用的最重要的手段,它允許程式設計師在保持原有類特性的基礎上進行擴充套件,增加功能。這樣產生新的類,稱派生類。繼承關係有三...

c 中繼承問題小結

1.c 中繼承有公有繼承,保護繼承,私有繼承 定義個基類 include using namespace std class base public void display cout huang endl protected int x private int y 定義乙個派生類 公有繼承 派生類...

C 課程小結 繼承與派生

單繼承與多重繼承的區別 單繼承 乙個子類 派生類 只有乙個父類 只由乙個基類派生而成 多繼承 乙個子類 派生類 有多個父類 由多個基類派生而成 派生類的構成 1 從基類繼承過來的成員 包括資料成員和成員函式 2 在派生類裡面新增的成員 包括資料成員和成員函式 根據繼承方式的不同來調整從基類繼承過來成...