我想了解C++中的虚函数的概念,我在线阅读它,但我无法理解为什么下面的程序输出是2而不是1?谁能解释一下?C++中的虚函数的概念
Class A
{
int a;
public:
A()
{
a = 1;
}
virtual void show()
{
cout <<a;
}
};
Class B: public A
{
int b;
public:
B()
{
b = 2;
}
virtual void show()
{
cout <<b;
}
};
int main()
{
A *pA;
B oB;
pA = &oB;
pA->show();
return 0;
}
你能解释为什么你所期望的结果是“1”? –
你为什么认为输出结果应该是“1”? –
继续阅读你的C++书籍,这完全解释了这个概念。 –