C 基礎3 2 繼承

2021-09-25 16:15:40 字數 1658 閱讀 2247

原則:is-a

父類/子類

基類/派生類

class 派生類 : [訪問限定符] 基類 

//如果不寫繼承訪問限定符,預設是private

public

protected

private

類成員函式√√

√友元函式√√

√子類函式√√

×類物件√×

×public

protected

private

public 繼承√√

×protected 繼承√√

×private 繼承√√

×

class base ;

class derive:public base {

public:

void test() {

cout<< public_data <子類內部訪問父類成員,只能訪問public和protected成員

public

protected

private

public 繼承√×

×protected 繼承××

×private 繼承××

×子類只有public繼承父類的時候,才能訪問父類的public成員,其他都不能訪問。

通常子類使用public繼承父類。

子類物件訪問父類成員訪問限定符的變化

繼承方式\父類成員

public

protected

private

public 繼承

public

protected

不可見protected 繼承

protected

protected

不可見private 繼承

private

private

不可見

小結:1.public無論類內部還是類物件都可以訪問。

2.protected類物件不可訪問,類內部與繼承類的內部可以訪問。

3.private只有類內部可以訪問。

#include using std::cout;

using std::endl;

class member{

public:

member(){

cout << "member init" 執行結果

當建立乙個子類成員變數時:

父物件構造->成員變數構造->子物件構造

析構順序剛好相反:

子物件析構->成員變數析構->父物件析構

C 基礎 繼承

繼承class 派生類 訪問限定符 基類 public protected private 類成員函式 友元函式 子類函式 類物件 子類繼承類父類所有的成員變數和成員函式。與訪問限定 符無關。訪問限定符只是限制了訪問。子類訪問父類成員變數,把父類成員變數訪問限制符,改為 protected 子類內部...

C 基礎 繼承

如果乙個類的成員被定義成該類的私有成員,那麼只有基類的成員和友元可以訪問類中的私有成員。同時派生類也無法訪問基類的私有成員,派生類的例項物件也無法訪問這些私有成員。如果派生類為公有繼承,基類成員保持自己的訪問級別 基類的public成員為派生類的public成員,基類的protected成員為派生類...

C 繼承基礎

一,繼承和多型 類之間的繼承 基類,父類 成員變數 描述類的屬性 成員函式 功能 派生類 子類 體現出與基類的不同 繼承 基類與派生類之間訪問許可權 1.public繼承 基類裡面的公有成員變數被繼承後在派生類中也是公有的 可以在類外被訪問 基類裡面的保護成員變數被繼承後在派生類中可以被訪問,在派生...