更改继承类的级别
可以按照我们希望的方式更改继承类的接入级别吗?更改继承类的级别
class Base {
public:
size_t x;
protected:
size_t y;
};
class Derived : private Base {
protected:
size_t x;
public:
size_t y;
};
是否Base
类继承只有私有成员或Base
所有成员将private
默认?我试图交换访问级别,但我不明白我在这里做什么?
不,Derived
不能突然决定它会偷取阅读private
Base
中的成员的能力。
你实际上在做什么是完全创建不同的变量在Derived
,它们碰巧具有相同的名称。
[...]并隐藏基类变量。 – Xeo 2011-03-31 19:52:31
@Xeo:确实。我以为我会在那一天离开那个细节,因为它与这里没有直接的关系,而现在知道这种方法不是他想要的 - 不会再深入他的尝试,因为他会发现隐藏的名字作为问题。 – 2011-03-31 23:09:20
当您从Base
继承private
修饰符时,会发生什么情况:只有Derived
类才能访问Base
的成员。如果您决定创建从Derived
继承的AnotherDerived
,那么您将无法访问Base
的任何成员。
有关继承和访问说明符的更多信息,请检查link。
你的意思是“衍生类继承...” – 2011-03-31 19:30:57
是的,我的意思是说。 – Ant 2011-03-31 19:33:53