派生類繼承問題和訪問許可權問題

2021-07-27 15:56:19 字數 1292 閱讀 4300

當乙個子類從父類繼承時,父類的所有成員成為子類的成員,此時對父類成員的訪問狀態由繼承時使用的繼承限定符決定。

1.如果子類從父類繼承時使用的繼承限定符是public,那麼 

(1)父類的public成員成為子類的public成員,允許類以外的**訪問這些成員;

(2)父類的private成員仍舊是父類的private成員,子類成員不可以訪問這些成員;

(3)父類的protected成員成為子類的protected成員,只允許子類成員訪問;  

2.如果子類從父類繼承時使用的繼承限定符是protected,那麼

(1)父類的public成員成為子類的protected成員,只允許子類成員訪問;

(2)父類的private成員仍舊是父類的private成員,子類成員不可以訪問這些成員;

(3)父類的protected成員成為子類的protected成員,只允許子類成員訪問  

3.如果子類從父類繼承時使用的繼承限定符是private,那麼 

(1)父類的public成員成為子類的private成員,只允許子類成員訪問; 

(2)父類的private成員仍舊是父類的private成員,子類成員不可以訪問這些成員;

(3)父類的protected成員成為子類的private成員,只允許子類成員訪問;

//公有繼承                      物件訪問    成員訪問

public    -->  public              y         y

protected -->  protected           n         y

private   -->  private             n         n

//保護繼承                      物件訪問    成員訪問

public    -->  protected           n         y

protected -->  protected           n         y

private   -->  protected           n         n

//私有繼承                      物件訪問    成員訪問

public    -->  private             n         y

protected -->  private             n         y

private   -->  private             n         n

繼承和派生類

一 基本概念 繼承是物件導向的程式設計的重要特色之一,它可以有效提高軟體的重用性。若在已有類a的基礎上建立了乙個新類b,則稱類b繼承了類a,類a稱為基類或父類,類b稱為派生類或子類。c 中,繼承又分單一繼承和多重繼承。若派生類只有乙個基類,則稱為單一繼承 若派生類的基類多於乙個,則稱為多重繼承。1 ...

C 繼承和派生類

繼承和派生類 繼承性是物件導向程式設計中最重要的機制。這種機制提供了無限重複利用程式資源的一種途徑。通過c 語言中的繼承機制,可以擴充和完善舊的程式設計以適應新的需求。這樣不僅可以節省程式開發的時間和資源,並且為未來程式增添了新的資源。class student class studend1 利用原...

繼承 基類和派生類

說明派生類的生成和使用 include using namespace std class test1 基類 test1 int a x a void disp class test2 public test1 派生類 test2 int a,int b test1 a void disp intm...