C 類的訪問許可權

2021-07-24 05:42:44 字數 468 閱讀 4557

class a ;

int main() {}

則sizeof(b)=16,前12位元組為int pba、pta、pva,後4位元組為int pvb

繼承種類有公有繼承、保護繼承、私有繼承

三種繼承方式的不同之處就是b中的前12個位元組(pba、pta、pva)在派生類(class c)和外部函式(main)中的訪問許可權不同,

但對b而言三種繼承方式都一樣,b都能訪問a中的public和protected,不能訪問private

三種繼承種類public、protected、private,都是把b包含的基類成員(pba、pta、pva)的訪問許可權下降到不大於繼承種類的訪問許可權

(即protected繼承則把public降為protected,private繼承則把public和protected降為private)

雖然我只列出了成員變數(pba、pta、pva),但實際上成員函式也是遵循同樣的規則。

C 類訪問許可權

public 同乙個程式集的任何 或引用該程式集的其他程式集都可以訪問該型別或成員 internal 同乙個程式集的任何 都可以訪問該型別或成員 private 只有在結構或類中的 可訪問該型別或成員 protected 只有同一類或結構或者此類的派生類中的 才可以訪問的型別或成員internal ...

C 類的訪問許可權問題

為了更加方便的記憶,還是梳理下這些老掉牙的關係,這樣也更加深刻。c 中public,protected,private訪問小結 第一 private,public,protected方法的訪問範圍.public繼承下 private 只能由該類中的函式 其友元函式訪問,不能被任何其他訪問,該類的物件...

C 類成員的訪問許可權

c 類成員的訪問許可權 c 通過public protected private三個關鍵字來控制成員變數和成員函式的訪問許可權,它們分別表示公有的 受保護的 私有的,被稱為 成員訪問限定符 c 中的public private protected 只能修飾類的成員,不能修飾類,c 中的類沒有共有私有...