C/C++中派生類訪問屬性詳解及其作用介紹
保護繼承
由 protected 聲明的成員稱為 “受保護的成員”, 或簡稱 “保護成員”.
從用戶的角度來看, 保護成員等價於私有成員. 保護成員可以被派生類的成員函數引用.
派生類成員的訪問屬性
4 種訪問屬性:
- 公用的: 類內和類外都可以訪問
- 受保護的: 類內可以訪問, 類外不能訪問, 下一層的派生類可以訪問
- 私有的: 類內可以訪問, 類外不能訪問
- 不可訪問的: 類內和類外都不能訪問
繼承方式 | 基類中的成員 | 訪問屬性 |
---|---|---|
公用繼承 (public) | 公用成員和保護成員 | 在派生類中保持原有訪問屬性 |
公用繼承 (public) | 私有成員 | 仍為基類私有, 派生類不可訪問 |
私有繼承 (private) | 公用成員和保護成員 | 在派生類中成瞭私有成員 |
私有繼承 (private) | 私有成員 | 仍為基類私有, 派生類不可訪問 |
受保護的繼承 (protected) | 公用成員和保護成員 | 在派生類中成瞭保護成員 |
受保護的繼承 (protected) | 私有成員 | 仍為基類私有, 派生類不可訪問 |
總結
- 如果在多級派生時都采用公用繼承方式, 那麼直到最後一級派生類都能訪問基類的公用成員和保護成員
- 如果采用私有繼承的方式, 經過若幹次派生之後, 基類的所有的成員已經變成不可訪問的瞭
- 如果采用菜戶繼承方式, 在派生類外無法訪問派生類中的任何成員. 而且經過多次派生後, 人們很難清楚的記住哪些成員可以訪問, 哪些成員不能訪問, 很容易出錯
註: 實際開發中, 我們通常使用的是公共繼承.
到此這篇關於C/C++中派生類訪問屬性詳解及其作用介紹的文章就介紹到這瞭,更多相關C++派生類訪問屬性內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!