如果我们重新定义数据成员,那么类的实现会发生什么? 例如,假设我们有:
class foo {
public:
int a;
char *b;
};
...
class bar : public foo {
public:
float c;
int b;
};
条形对象的表示是否包含一个或两个b字段?如果两个,他们都可以访问,还是只有一个?在什么情况下?
答案 0 :(得分:5)
它包含两个,但其中一个名为foo :: b
int main() {
bar x;
x.b = 0; // access bar::b
x.foo::b = 0; // access foo::b
}