C 繼承總結

2021-08-20 22:08:11 字數 1538 閱讀 9469

一、基類和派生類

類繼承關係的語法形式

class 派生類名:基類名錶

資料成員和成員函式說明

其中,「基類名錶」的語句格式如下:

訪問控制 基類名1,訪問控制 基類名2,…

「訪問控制」是表示繼承許可權的關鍵字,稱為訪問描述符。可以是:

如果省略訪問描述符,則c++認為是私有繼承。如果用關鍵字struct(而不是class)定義類,則省略訪問描述符時認為是公有繼承。

二、訪問控制

乙個派生類公有繼承乙個基類時,基類中所有公有成員(由public定義的資料成員或成員函式)成為派生類的公有(public)成員,基類中所有保護成員(由protected定義的資料成員或成員函式)成為派生類的保護(protected)成員。

乙個派生類私有繼承乙個基類時,基類中所有公有成員和保護成員同時成為派生類的私有(private)成員。

乙個派生類保護繼承乙個基類時,基類中所有公有成員和保護成員同時成為派生類的保護(protected)成員。

1、公有繼承

基類派生類

private成員

protected成員

protected成員

public成員

public成員

private成員

protected成員

public成員

#include

using namespace std;

class a

void putxy()

int getv()

void makev()

protected:

int h,v;

};int main()

;class derived:public base

;void f()

static int i;

void out()

};class derived:public base

;class derived:public base;

根據賦值相容規則, 以下幾種情況是合法的:

(1) 可以用派生類物件給基類物件賦值。例如:

base b;

derived d;

b=d;

這樣賦值的效果是,物件b中所有資料成員都將具有物件d中對應資料成員的值。

(2) 可以用派生類物件來初始化基類的引用。例如:

derived d;

base &br=d; 

(3) 可以把派生類物件的位址賦值給指向基類的指標。例如:

derived d;

base *bptr=&d;

這種形式的轉換,是在實際應用程式中最常見到的。

(4) 可以把指向派生類物件的指標賦值給指向基類物件的指標。例如:

derived *dptr,obj; dptr=&obj;

base *bptr=dptr;

總結:繼承就是在已有類基礎上建立新類的過程。對於一些類共有的部分,使用繼承可以減少**量,提高效率。

C 繼承總結

繼承是物件導向程式設計中軟體重用的關鍵技術。繼承機制使用已定義的類作為基礎建立新的類定義,新的類是原有類的資料及操作與新類所增加的資料及操作的組合。新的類把原有的類作為基類引用,而不需要修改原有類的定義。新的類作為派生類引用。這種可擴充 可重用技術大大降低了大型軟體的開發難度。c 中描述類繼承關係的...

C 繼承總結

繼承概念 在原有的類不變的基礎之上,新增一些函式,對功能進行拓展 繼承特點 是物件導向程式設計的的層次結構 是實現由簡單到複雜的認知過程 基類 被繼承的類 派生類 在繼承之後產生的新類 例子 手機系統會不斷更新,然而,我們的手機更新之後的功能只是對原來的功能進行優化和新增 繼承格式 派生類名 繼承許...

C 繼承總結

繼承 1 三種類成員訪問限定符繼承 2 公有繼承 保護繼承 私有繼承 基類的私有成員在派生類是無法被訪問的,如果乙個基類不想讓基類物件之間訪問自己的成員,但是需要在派生類中訪問,那麼可以將該成員設定為 protected 保護類 公有繼承是乙個介面繼承,所有基類可用的成員對子類也可用,每乙個派生類都...