一、什么是访问权限问题
1、public访问权限是全局的
- public的成员变量,在类的成员方法中可以直接访问
- public的成员变量,在任何外部代码中可以通过类的对象来直接访问
- public的成员方法,在类内其他成员方法中可以直接调用
- public的成员方法,在任何外部代码中可以通过类的对象来直接访问
- public就是完全不设防
2、private访问权限
- private的成员变量,在类的成员方法中可以直接访问
- private的成员变量,在任何外部代码中不可以通过对象来直接访问
- private的成员方法,在类内其他成员方法中可以直接调用
- private的成员方法,在任何外部代码中不可以通过对象来直接访问
- private就是对内不设防,对外完全设防的
3、更多关于访问权限的问题
- protected是第三种访问权限修饰符,如果有必要还可以有第四种甚至更多
- 访问权限叠加类的继承、static、friend等特性后才更加显出复杂性和威力
二、c++为什么要设计访问权限
1、访问权限作用1:保护内部资源
- private的成员是class内部使用,外部没必要直接访问(读取或赋值),所以干脆在语法上让你看不见
- 访问权限的保护是一种语法层面的保护,而非硬件上限制访问,硬件做不了这么细致
- 最终目的也是为了整个程序更安全