C 筆記 類的繼承和訪問控制

2021-07-09 04:34:09 字數 1370 閱讀 3825

c++中類的繼承的語法如下:

首先定義乙個基類(父類),然後定義派生類(子類)繼承基類,語法如下

class派生類名:訪問控制符基類名

訪問控制符包括以下三種:

1>public:修飾的成員變數或方法,在類的內部和類的外部都能被訪問

2>protected:修飾的成員變數或方法,只能在類的內部或者繼承的子類中訪問,不能在類的外部訪問

3>private:修飾的成員變數或方法,只能在類的內部訪問,不能在類的外部訪問

直接貼**看:

#include using namespace std;

class parent

};class child:public parent //訪問控制符為public,繼承基類的屬性和方法

;int main(void)

執行結果如下:

首先,基類parent的內部定義了public的屬性a和方法print,派生類通過public訪問控制符繼承基類的屬性和方法,那麼繼承下來的父類屬性和方法可以在類的內部和外部都能訪問,所以在main函式中對a賦值,並且print出a的值。

下面用protected訪問控制符繼承基類,再看看結果:

class child:protected parent

;int main(void)

由於,派生類通過protected繼承基類的public屬性和方法,這時只能在基類的內部或者派生類的內部訪問,而不能在類的外部訪問,所以上面的c1.a=10,和c1.print()就會編譯不通過,報如下錯誤:

類似的private訪問控制符也類似。

c++中類的繼承方式列出如下圖:

1>派生類public繼承下來基類的屬性和方法,屬性保持不變

2>派生類protected繼承下來基類的屬性和方法,public和protected變為protected,private的還是private型別

3>派生類private繼承襲來基類的屬性和方法,都是private的。

c++類的繼承方式(public、protected、private)會影響子類的對外訪問屬性

要判斷一句話能否被訪問:

1>看呼叫語句是寫在子類的內部還是外部

2>看子類如何從父類繼承(public、protected、private)

3>看父類中的屬性和方法的訪問級別(public、protected、private)

C 類的繼承和派生,訪問控制

c 中的繼承是物件導向的特點之一,其他兩個為封裝和多型。繼承是a is a b,而組合是a has a b.class a 派生類是具體的個性,積累是抽象的共性。乙個派生類有多個基類叫做多繼承,單個叫做單繼承。e.g.calss a public b 區別 域作用符 和 繼承 繼承 吸收 新增 改變...

C 類的繼承和派生,訪問控制

c 中的繼承是物件導向的特點之一,其他兩個為封裝和多型。繼承是a is a b,而組合是a has a b.class a 派生類是具體的個性,積累是抽象的共性。乙個派生類有多個基類叫做多繼承,單個叫做單繼承。e.g.calss a public b 區別 域作用符 和 繼承 繼承 吸收 新增 改變...

C 類成員訪問控制及繼承的訪問控制

公有型別成員定義了類的外部介面,在類外智慧型訪問類的公有成員 私有成員只能被本類的成員函式訪問,來自外部的任何訪問都是非法的,完全隱藏在類中,保護了資料的安全性 保護型別成員的性質和私有成員性質相似,其差別在於繼承過程中對產生的新類的影響不同,意義在於不想向外部暴露某個函式或者成員變數,但又想讓派生...