Protect和Public、Private

一、访问控制:
(1)
public
  修饰的成员变量在程序的任何地方都可以被访问,就是公共变量的意思,不需要通过成员函数就可以由类的实例直接访问
(2)
private
  修饰的成员变量只有类内可直接访问,私有的,类的实例要通过成员函数才可以访问,这个可以起到信息隐藏
(3)
protected
  是受保护变量类内和子类可直接访问,也就是说,基类中有protected成员,子类继承于基类,那么也可以访问基类的protected成员,要是基类是private成员,则对于子类也是隐藏的,不可访问

  这里如果不考虑继承只在本类内;其效过相当于private;

  但是希望子类能访问父类的成员变量可以用protect.

二、继承

1、public继承不改变基类成员的访问权限

2、private继承使得基类所有成员在子类中的访问权限变为private

3、protected继承将基类中public成员变为子类的protected成员,其它成员的访问 权限不变。

4、基类中的private成员不受继承方式的影响,子类永远无权访问

 

原文地址:https://www.cnblogs.com/ztteng/p/3043693.html