关于c ++:protected和private有什么区别?

What is the difference between protected and private?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Private and Protected Members : C++

我不理解受保护成员和私有成员或方法之间的区别,因为我假定两者都将隐藏成员或从类外部访问的函数。

受保护关键字和私有关键字有什么区别?


private—只能在定义它们的类中访问。

protected—在定义它们的类以及从该类继承的其他类中可以访问。


private的东西只在类本身中可见。

protected的东西在类本身和子类中是可见的。


私有成员只能由该类成员及其朋友使用;受保护的成员可以由其他类继承,并且可以由类成员和朋友使用。


私有方法通常对类实例(内部实现)可见,受保护方法对同一包中的子类和类可见(继承和受限使用)。


区别在于谁可以访问这些功能。

  • private=只有同一类的成员才能访问函数。

  • protected=与私有类相同,但派生类也可以访问。