private是将函数或数据声明为私有的 protected 是将他们声明为保护的 平时都可以通用 但是在类的继承方面 为了使继承类可以拥有基类的私有成员函数或数据 就在基类中将他们声明为保护的 即protected 但是他们在其他类看来还是私有的 即不能访问的 这样的好处是使继承类继承基类的私有成员也保护了其安全 即对其他类是私有的 但是对于继承类来说是公有的了 如A是从Base继承的,那么A可以访问Base的protected成员,但不能访问private成员。
如 class Base { private int i; protected int j; };
class A : public Base { public void F() { this.i = 100; // 这里会出错 this.j = 100; // 这里没问题 } };
我刚总结了一下,你可以去看看"类的继承和派生"