其他分享
首页 > 其他分享> > c – 如果重新定义数据成员,则实现类

c – 如果重新定义数据成员,则实现类

作者:互联网

如果我们重新定义数据成员,那么类的实现会发生什么?
例如,假设我们有:

class foo {
public:
    int a;
    char *b;
};
...
class bar : public foo {
public:
    float c;
    int b;
};

条形对象的表示是否包含一个或两个b字段?如果两个,他们都可以访问,还是只有一个?在什么情况下?

解决方法:

它包含两个,但其中一个叫做foo :: b

int main() {
    bar x;
    x.b = 0;    // access bar::b
    x.foo::b = 0;   // access foo::b
}

标签:c,class,implementation,redefinition
来源: https://codeday.me/bug/20190903/1797827.html