受保护的数据成员和数据功能

时间:2010-12-14 23:07:31

标签: c++ oop access-specifier

当我在一个类中声明一个受保护的数据成员时,这意味着它不能访问外部世界而是可以访问派生类。我的问题是

  

是否可以访问派生类派生的类?

3 个答案:

答案 0 :(得分:6)

是的,受保护的数据成员可以在继承层次结构中一直访问。

通常可以更好地避免受保护的数据。另一种方法是编写访问私有数据的受保护方法。这样可以将数据封装在一个类中。它还可以轻松设置更改数据的断点。

答案 1 :(得分:3)

实际上,受保护的数据成员只能使用受保护和公共继承来访问。

以下是在派生类中无法访问受保护成员的示例:

class Base  
{  
protected:  
int iBase;  
};

class Derived : private Base  
{  
// iBase not accessible  
};

答案 2 :(得分:2)

是。 (顺便说一下,你可以简单地尝试一下。)