当我查看下面的代码示例时,我认为d.B::num
是一样的,b.num
但事实并非如此。它似乎是一个不同的变量,有自己的地址。当我单击运行按钮时,我会看到三个变量中的每一个b.num
,d.num
并d.B::num
具有其相关值(分别为 3、4 和 5)。
为什么呢?d.B::num
如果不一样的话,这里到底是什么b.num
?
struct B {int num;};
struct D : public B {int num;};
int main() {
B b;
D d;
b.num = 3;
d.num = 4;
d.B::num = 5;
cout << b.num << endl;
cout << d.num << endl;
cout << d.B::num << endl;
return 0;
}