目錄
- 簡介
- public,protected 和 private
- 繼承中的 public,protected 和 private
- 示例
簡介
在 C++ 中派生類可以通過 public,protected 和 private 三種修飾符決定基類成員在派生類中的訪問級別
public,protected 和 private
- 公有成員(public):可以在任何地方被訪問
- 保護成員(protected):只能被類本身及其派生類訪問
- 私有成員(private):只能被類本身訪問
繼承中的 public,protected 和 private
- public 繼承中,基類成員的訪問級別在派生類中保持不變
- protected 繼承中,基類成員中 public 成員在派生類中降為 protected,其余成員的訪問控制級別維持不變
- private 繼承中,基類成員所有的訪問級別變為 private
示例
class Base {
public:int publicVar;
protected:int protectedVar;
private:int privateVar;
};class DerivedPublic : public Base {void accessBaseMembers() {publicVar = 1; // 可以訪問protectedVar = 2; // 可以訪問// privateVar = 3; // 不可訪問}
};class DerivedProtected : protected Base {void accessBaseMembers() {publicVar = 1; // 可以訪問,但在派生類外部不可訪問protectedVar = 2; // 可以訪問// privateVar = 3; // 不可訪問}
};class DerivedPrivate : private Base {void accessBaseMembers() {publicVar = 1; // 可以訪問,但在派生類外部不可訪問protectedVar = 2; // 可以訪問,但在派生類外部不可訪問// privateVar = 3; // 不可訪問}
};