关于c++中public protected private的用法

题外话

正文

今天让我们来讲讲c++中public protected private三种访问权限的用法
我们首先假设正在看这篇博客的人都至少了解到面向对象语言的三个基本特性了

public与private访问权限呢,就是字面意思“公共的”和“私有的”
剩下那个protected即“受保护的”这个有点难解释,但其实就是只允许给子类调用的一个变量
打个比方就是,首先我们有三个人,分别是A、B、C,A与B在一个家里,而C是A与B的家外面的一个人,画出来大致长这个样
在这里插入图片描述
而public即“公开的”就是A,B,C三人都知道的东西,而private即“私有的”就是ABC三人中其中一人的私事,别人不知道,最后protected即“受保护的”就是只有A与B两个在一个家里面知道的东西。

代码

#include<iostream>
using namespace std;
class A{
    protected:
        char b='b';
    private:
        char c='c';
    public: 
        char a='a';
        void test1(){
            cout<<a;//正确,自己类中能访问自己类中public属性变量
            cout<<b;//正确,自己类中能访问自己类中protected属性变量
            cout<<c;//正确,自己类中能访问自己类中private属性变量
        }
}
class B:public A{
    public:
        void test(){
            cout<<a;//正确,子类中能访问基类中public属性变量
            cout<<b;//正确,子类中能访问基类中protected属性变量
            cout<<c;//错误,子类中不能访问基类中private属性变量
        }
}
class C{
    public:
        A a;
        void test(){
            cout<<a.a;//正确,外部类中能访问类中public属性变量
            cout<<a.b;//错误,外部类中不能访问类中protected属性变量
            cout<<a.c;//错误,外部类中不能访问类中private属性变量
        }
}

The END

这又是一篇十分水的博客(这行字应该没人看到吧)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值