【教程】继承中的访问控制 C++

简介

在 C++ 中派生类可以通过 public,protected 和 private 三种修饰符决定基类成员在派生类中的访问级别

public,protected 和 private

  1. 公有成员(public):可以在任何地方被访问
  2. 保护成员(protected):只能被类本身及其派生类访问
  3. 私有成员(private):只能被类本身访问

继承中的 public,protected 和 private

  1. public 继承中,基类成员的访问级别在派生类中保持不变
  2. protected 继承中,基类成员中 public 成员在派生类中降为 protected,其余成员的访问控制级别维持不变
  3. 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;  // 不可访问
    }
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值