C 類訪問控制與派生

2021-06-22 23:04:02 字數 1134 閱讀 6052

一、c++類的訪問控制有三類:public,protected和private。

類訪問控制符

類成員可被哪些物件訪問

public

1、類的成員函式。2、類物件。3、友元。4、子類成員函式

protected

1、類的成員函式。2、友元。3、子類成員函式

private

1、類的成員函式。2、友元

二、c++類的繼承

繼承方式也有三種:public,protected和private。

繼承之後,基類成員的可訪問性會發生變化,如下表:

public繼承

基類public

protected

private

子類public

protected

不可見

protected繼承

基類public

protected

private

子類protected

protected

不可見

private繼承

基類public

protected

private

子類private

private

不可見

從上面可以看出,經過繼承後,基類的成員訪問性會發生改變,派生類對其的訪問仍然遵從類的訪問控制規則。有關三種繼承方式,派生類對基類成員的訪問說明,網上有很大網友寫了大量的文章,不過我覺得文字說明很容易把人繞暈,反而丟掉了其本質。我以為繼承沒有網友說的那麼麻煩,就是基類的可訪問性在派生類中發生了改變,然後,派生類再使用類訪問控制規則對其進行訪問即可。

值得注意的地方有兩個:

一、基類中的private成員在派生類中是不可見的,即無法通過派自己的成員函式去訪問,但可以通過繼承來的成員函式訪問。

二、private繼承,基類的public和protected成員都成為派生類中的private成員,這樣,如果對派生類再派生乙個子類,那麼,在派生的子類中,將無法直接通過該子類的成員函式訪問繼承來的成員;

三、派生類從基類中無法繼承的是哪些成員

派生類無法從基類中繼承的成員有三種:

1、建構函式和析構函式

2、賦值操作符(operator=()member)

3、友元

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 派生類的訪問控制許可權

派生類必須通過使用類派生列表,明確指出它是從哪個 哪些 基類繼承而來的。類派生列表的形式是 首先是乙個冒號,後面緊跟以逗號分隔的基類列表 可以多繼承,但一般不使用多繼承 其中每個基類前面可以有以下三種訪問說明符中的乙個 public,private,protectedd。c 語言中,基類必須將它的兩...