<分区>
Possible Duplicate:
Private/protected inheritance
你能给我在C++
中私有(private)继承的例子吗?据我了解,在这种继承中,父项的公共(public)和 protected 特征不会过滤子项,只有子项的公共(public)特征是可见的。
<分区>
Possible Duplicate:
Private/protected inheritance
你能给我在C++
中私有(private)继承的例子吗?据我了解,在这种继承中,父项的公共(public)和 protected 特征不会过滤子项,只有子项的公共(public)特征是可见的。
最佳答案
私有(private)继承:
基类的所有 Public
成员都成为派生类的 Private
成员 &
基类的所有 Protected
成员都成为派生类的 Private
成员。
代码示例:
Class Base
{
public:
int a;
protected:
int b;
private:
int c;
};
class Derived:private Base //Not mentioning private is OK because for classes it defaults to private
{
void doSomething()
{
a = 10; //Allowed
b = 20; //Allowed
c = 30; //Not Allowed, Compiler Error
}
};
class Derived2:public Derived
{
void doSomethingMore()
{
a = 10; //Not Allowed, Compiler Error, a is private member of Derived now
b = 20; //Not Allowed, Compiler Error, b is private member of Derived now
c = 30; //Not Allowed, Compiler Error
}
};
int main()
{
Derived obj;
obj.a = 10; //Not Allowed, Compiler Error
obj.b = 20; //Not Allowed, Compiler Error
obj.c = 30; //Not Allowed, Compiler Error
}
如果您倾向于了解继承和访问说明符,您可以在 this 查看更多信息 我很久以前发布的答案。
关于C++ - 定义 - 私有(private)继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6394654/