C 繼承 訪問許可權控制

2021-07-11 21:59:44 字數 1645 閱讀 5622

三種訪問許可權

public:可以被任意實體訪問

protected:只允許子類及本類的成員函式訪問

private:只允許本類的成員函式訪問

三種繼承方式

public 繼承  

protect 繼承

private 繼承

組合結果

基類中      繼承方式             子類中

public     & public繼承        => public

public     & protected繼承     => protected  

public     & private繼承       => private

protected  & public繼承        => protected

protected  & protected繼承     => protected  

protected  & private繼承       => private

private    & public繼承        => 子類無權訪問

private    & protected繼承     => 子類無權訪問

private    & private繼承       => 子類無權訪問

由以上組合結果可以看出

1、public繼承不改變基類成員的訪問許可權

2、private繼承使得基類所有成員在子類中的訪問許可權變為private

3、protected繼承將基類中public成員變為子類的protected成員,其它成員的訪問       許可權不變。

4、基類中的private成員不受繼承方式的影響,子類永遠無權訪問。

此外,在使用private繼承時,還存在另外一種機制:准許訪問。

測試例項**:

//公有派生的公有成員例程如下:

/*#include

using namespace std;

class father

};class son:public father

;int main()

*///公有派生的保護許可權例程如下:

/*#include

using namespace std;

class father

};class son:public father

};int main()

*///公有派生的私有成員例程如下:

/*#include

using namespace std;

class father

};class son:public father

};int main()

*///2.私有派生

#include

using namespace std;

class father

};class son:private father

};int main()

在子類中訪問父類的私有成員訪問是不會成功的。

繼承的賦值

一般只有派生類的物件可以複製給基類的物件。

派生類的物件還可以對基類的物件進行指標變數的複製操作。

1.派生類的物件可以初始化基類的引用。

2.派生類姐可以將物件的位址複製給基類的指標。

C 類繼承訪問許可權及外部訪問許可權

c 訪問許可權問題主要包括兩種 一種是外界對類成員的普通訪問,主要通過類內的public protected private許可權修飾符 另一種是繼承關係中子類對父類成員的訪問。基本原則 外界只能訪問類中public成員,子類可訪問父類的public和protected成員 不同繼承方式只影響外界 ...

繼承訪問許可權

當子類繼承了某個類後,便可以使用父類中的成員變數,當並不是完全繼承父類的所有成員變數,具體原則如下 變數原則 1 能夠繼承父類的public和protected變數.不能夠繼承父類的private變數 package test1 class son public class a extends so...

c 訪問控制和繼承

表示訪問控制和繼承 派生類可以訪問基類中所有的非私有成員。因此基類成員如果不想被派生類的成員函式訪問,則應在基類中宣告為 private。乙個派生類繼承了所有的基類方法,但下列情況除外 基類的建構函式 析構函式和拷貝建構函式。基類的過載運算子。基類的友元函式 1,繼承自乙個基類時格式為 class ...