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 中的類沒有共有私有...