class A {
public:
int a;
};
class B: private A {
};
class C: public A {
};
class D: public B, public C {
D() {
B::a = 0;
}
};
即使 B 私下继承了 A,这也会编译。如果我删除 D 对 C 的继承,编译器会说 a 不可访问,就像我期望的那样。那么 C 的继承会让我的编译器感到困惑吗?
编译器是 gcc 4.4.7