[HELP][子类替换父类成员变量的问题]
下面这段程序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(int argc, char* argv[])
{
B b;
b.print();
}
麻烦谁能帮我解释一下,为什么结果是1吗?
我理解建B的对象时会先执行A的构造函数,但B的构造也应该被执行了呀,
我什么_a会等于父类的1呢?谢谢。