我想了解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++書籍,這完全解釋了這個概念。 –