C++访问控制权限


关键字:public  private protected

a. 权限控制符在类中的作用

b. 权限控制符在继承中的作用

c. 权限控制符作用于类级,并非对象级

 

一. 权限控制符在类中的作用

访问权限可以从以下三个范围来区分:

x. 某类的内部

y. 该类的派生类(子类)内部

z.该类外部,也就是该类的使用者客户

public在xyz中都可以访问,protected在xy中可以访问,private在x中可以访问。

访问权限的意义:

1. public,private主要体现类的封装性,public类外可以访问,一般定义接口。

    private只能在类内部访问,用于隐藏实现。

2. protected主要体现类的继承,也是public和private的一个折中。

    protected类外不能访问,但子类可以访问。

 

二. 权限控制符在继承中的作用

Note前提: 不管是什么继承方式,当前类的private成员,其派生类都是不可以直接访问的

      当然其派生类可以通过基类的其他接口间接访问。

     不管控制权限如何,继承方式如何,派生类都会继承基类的所以成员,包括private成员。

     访问权限和继承方式只是决定派生类对基类的成员的可访问性。

public,protected,private这三种继承方式,不会影响派生类成员访问基类的成员。

不管是哪种继承方式,派生类都可以访问基类的public,protected成员。

不同的继承方式只是决定了基类的成员被继承在派生类后,外部客户是否有权限访问这些成员。

1. public继承后,子类可以访问父类的public,protected成员,子类的客户(即子类外部)还是保持

    原有的访问权限。

2. protected继承后,子类仍可以访问父类的public,protected成员,子类的客户就不能访问这些成员了。

3. private继承后,子类仍可以访问父类的public,protected成员,子类的客户也不能访问这些成员了。

4. protected继承后,派生类继承的public,protected成员的访问权限为protected,这表示它们在后面的继承

    中仍然可以被后面的派生类直接访问。private继承则导致直接访问权限结束。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM