<分区>
我有以下代码:
class A
{
public:
int foo = 0;
};
class B: public A
{
public:
int foo = 1;
};
int main()
{
A *a = new B();
std::cout << a->foo;
std::getchar();
return 0;
}
输出:0
为什么 B 不覆盖 A 的成员 foo ?
以及如何在不转换为派生类的情况下获得所需的 1 输出