[求助] 类中private和protected的区别
private和protected的区别:
我知道private定义的在继承类中不能访问 , 而 protected在有的继承类可以访问
还有别的区别吗?
不懂 ? 请指教
谢谢了
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; // 这里没问题
}
};