基类成员变量与子类成员变量同名的问题
#include <iostream>
using namespace std;
class A
{
public:
int _a;
A()
{
_a=1;
}
void print()
{
printf("%d",_a);//********
}
};
class B :public A
{
public:
int _a;
B()
{
_a=2;
}
};
int main()
{
B b;
b.print();
printf("%d",b._a);
return 0;
}
输出结果为1,2 哪位帮忙解释一下?
请问标识********处的_a变量是在编译时定其值的呢,还是在运行时定其值的呢?
谢谢啦!