c 訪問控制

2021-09-06 13:22:00 字數 1783 閱讀 3628

1.  類內的訪問控制

在基類中,public和private具有普通的含義:使用者(即基類的物件)可以訪問public成員(包括函式、資料),而不能訪問private成員。private只能被基類的成員和友員訪問。(注:基類的物件無權訪問private成員)

派生類對基類的public和private具有相同的含義:它可以訪問public成員,不可以訪問private成員。派生類物件亦如此。

為了使派生類(注:是類, 不是類物件)可以基類的成員,但禁止基類的物件訪問,定義了protected控制。基類protected成員,派生類可以訪問,但基類以及派生類的物件是不行的。

示例

#include #include 

#include

#include

using

namespace

std;

class

item_base

;

virtual ~item_base() {}

private

:

string

isbn;

protected

:

double

price;

};class bulk_item : public

item_base

};int

main()

結果2. 派生列表的訪問控制派生類中由兩部分構成:基類的一部分+自身定義的一部分。派生類列表中訪問控制,將影響基類的部分在派生類中的訪問級別:

總之:派生類可以進一步限制,但是不可以放鬆對所有繼承成員的訪問

注意:私有繼承類成員中仍可以訪問基類的public, private成員,只是基類的部分在派生類中的性質變為:private。

例證1

#include #include 

using

namespace

std;

class

base

intpub;

private

:

intpri;

protected

:

intpro;

};class derived_private : protected

base

};int

main()

結果1例證2

#include #include 

using

namespace

std;

class

base

intpub;

private

:

intpri;

protected

:

intpro;

};class derived_private : private

base

};int

main()

結果2

C 訪問控制

在c 中有三種訪問控制說明符 public protected private 一 訪問類中成員情況 private 只允許類內成員函式和友元函式訪問,不允許類的物件訪問 protected 只允許類內成員函式 子類內成員函式和友元函式訪問,不允許類的物件訪問 public 允許類內成員函式 子類內...

C 訪問控制

c 標準中定義了三種類成員訪問控制符,公有的public,保護的protected,私有的private,這是在類的內部宣告這三種控制符的意思 訪問控制就是c 提供的一種用來保護類裡的方法和屬性的手端 保護即對誰可以呼叫某個方法和訪問某個屬性加上乙個限制 如果某個物件試圖呼叫乙個它無權進行訪問的函式...

C 中訪問控制

1 include 2 using namespace std 3 4 class a 11 void disp a a 12 那麼某個函式通過類p訪問 o中成員時,該函式對類o中的 public 成員只有 protected 許可權。我們經常聽到這樣的說法 protected private pu...