首页 / C++ / C++关键字protected
C++关键字protected
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C++关键字protected,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1384字,纯文字阅读大概需要2分钟。
内容图文
![C++关键字protected](/upload/InfoBanner/zyjiaocheng/634/47c730ffd3604dadb6ed9d9f3b65daae.jpg)
我们已经接触了C++的两个关键字:public和private。public是公开的,而private是私有的。
在C++的类中,如果一个属性或方法被定义为public,那么这个属性或者方法可以被所有的类访问。如果一个属性或方法被定义为private,那么这个属性或者方法只能够被自己这个类访问,甚至子类也无法访问。
那么问题来了,子类如果每次访问父类的属性都要使用getter或setter方法,那么会很不方便。而且如果父类不提供getter和setter方法的话,那就没有办法访问了。如果我们想子类直接访问父类的属性或者方法,那么可以使用protected关键字。
它的使用方法和其他两个关键字一样:
class ClassName { public: //public attributes or methods protected: //protected attributes or methods private: //private attributes or methods };
这样一来,子类就可以直接访问父类的属性或方法而其他与父类无关的类无法直接访问。
所以我们也可以得知访问权限级别的顺序:public > protected > private
在继承中的public、private和protected
|
父类成员访问级别 |
|||
继 承 方 式 |
|
public |
proteced |
private |
public |
public |
proteced |
private |
|
proteced |
proteced |
proteced |
private |
|
private |
private |
private |
Private |
也就是说,当继承时,我们的格式是:
class ClassA: public ClassB { //... };
那么ClassA中的所有属性和方法的访问权限和父类相同。
如果我们在继承时使用了protected:
class ClassA: protected ClassB { //... };
那么ClassB中的public属性或者方法的访问权限就会变为protected,而其他的权限不变。
如果我们在继承时使用了private:
class ClassA: private ClassB { //... };
那么ClassB中的所有属性或者方法的访问权限就会变为private。
内容总结
以上是互联网集市为您收集整理的C++关键字protected全部内容,希望文章能够帮你解决C++关键字protected所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。