首页 > 编程语言 > 详细

C++ 中权限问题的思考

时间:2021-09-12 13:35:16      阅读:6      评论:0      收藏:0      [点我收藏+]

基本介绍转自:https://blog.csdn.net/zhangzheng0413/article/details/41541845

一、基本介绍

1、类成员权限:

public的定义:所有范围都能访问。表明该数据成员、或成员函数是对所有用户开放的;

  白话:所有用户都可以直接调用。

protected的定义:类自身、子类能访问;

  白话: 对于子女、朋友来说,就是public的,可以自由使用,没有任何限制;而对于其他的外部class,protected就变成private。

private的定义:类自身能访问;

  白话:私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。

 

二、继承方式

子类对父类的继承方式:public、protected与private是在以上定义基础上定义了子类中父类部分的成员(public与protected)在被继承后对外界的访问权限

技术分享图片

 

 

 

三、总结

  以上所述:类的内部和外界之分,类内部指的是在类所定义的范围内,即class A{};  在括号内的作用范围之内;类外部(或换一种说法,外界访问),指的是1、通过实例化一个对象,去访问类的成员class A 。2、通过继承的方式去访问class A。3、通过friend的方式去访问class A

  因此,

1、不考虑继承时,单对类定义本身而言,即class A{}; 内,三种权限的声明,对本类内部的方法访问不产生任何约束,其实就是“自己看自己”;而有效的时候,是对外界访问本类方法和数据所做出的约束。

2、而本类被外部访问时,

2.1 非继承方式,依据类内本身的权限划分;

  friend: 除private以外的全部;(待确认)

  类对象访问:public全范围内的内容;

2.2 继承方式访问时,加一层继承方式权限约束,最终权限向下看齐;

  这里可以理解为,当前类将父类继承过来的内容(除private外)按照最终权限,挪到了当前类对应的权限下;  后面再被继承或者被访问时按照这个权限即可。

技术分享图片

 

 

 

  

 

C++ 中权限问题的思考

原文:https://www.cnblogs.com/liwe1004/p/15253314.html

(0)
(0)
   
举报
评论 一句话评论(0
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!