C++中访问权限详解

详解

描述了类成员的访问控制,即中成员所能使用的一个范围。

public、protected、private

  1. public:公共的,类内类外均可以使用。
  2. protected:保护的,在类内及其继承的子类中可以使用可以使用
  3. private:私有的,只能在类内可以使用,在类外及其子类中均不可以使用(类中默认访问修饰符) 

 public、protected、private区别

  1. public(公有权限)

    • 成员可以被类的内部和外部直接访问。
    • 适合对外提供接口或功能。
  2. protected(保护权限)

    • 成员只能被类内部和子类访问,外部无法访问。
    • 适合需要对子类开放但不希望直接暴露给外部的成员。
  3. private(私有权限)

    • 成员只能被类内部访问,子类和外部均无法访问。
    • 适合存储不希望外部直接访问的敏感数据。
class CTest{
public:
    int name; // 公有成员

protected:
    int number; // 保护成员

private:
    int age; // 私有成员

public:
    void setAge(int nage) { // 通过公有函数访问私有成员
        age= nage;
    }
    int getAge() {
        return age;
    }
};

 拓展

public(公有权限)

  • 定义:成员可以被类的内部和外部直接访问。
  • 用途:对外的接口,公有的方法和属性
class CTest{
public:
    string name; // 公有属性
    void play() { // 公有方法
        cout <<name<< endl;
    }
};

int main() {
    CTest tst;
    tst.name= "YAYA"; // 可以直接访问
    tst.play(); // 可以直接调用
    return 0;
}

protected(保护权限)

  • 定义:成员只能被类内部和子类访问,外部无法访问。
  • 用途:在类内及其继承的子类中可以使用可以使用,对外隐藏
class CPeople{
protected:
    int age;
};

class Cnum: public CPeople{
public:
    void setNum(int age) {
        anum = age; // 子类可以访问基类的保护成员
    }
};

  外部无法访问

Cnum num;
// num.age= 10; // 错误,外部无法访问保护成员

private(私有权限)

  • 定义:成员只能被类内部访问,子类和外部均无法访问。
  • 用途:只能在类内可以使用,存储私有数据,通过公有方法提供访问接口
class priva{
private:
    double height; // 私有属性

public:
    void setprohei(double heigh) { // 通过公有方法操作私有属性
        height = heigh;
    }
    double getprohei() {
        return height ;
    }
};

 外部无法访问

priva pri;
// pri.height= 100.1; // 错误,私有成员无法直接访问
pri.setprohei(100.1); // 正确,通过公有方法访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

每一天都要努力^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值