受保护和私有有什么区别?

时间:2012-10-08 14:45:44

标签: c++ oop class private protected

  

可能重复:
  Private and Protected Members : C++

我不明白受保护成员或私有成员或方法之间的区别,因为我认为两者都会隐藏成员或从类外部访问的函数。

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

5 个答案:

答案 0 :(得分:60)

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

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

答案 1 :(得分:7)

private的内容只能在班级内看到。

protected的内容在类本身和子类中都可见。

答案 2 :(得分:2)

不同之处在于谁可以访问这些功能。

  • Private =只有同一类的成员才能访问该功能。

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

答案 3 :(得分:2)

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

答案 4 :(得分:2)

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