为什么会是这样?
#include<iostream>using namespace std;
class base
{
public:
virtual void show()=0;
};
class D1:public base
{
private:
void show()
{cout<<"D1"<<endl;}
};
class D2:public base
{
private:
void show()
{cout<<"D2"<<endl;}
};
void fun(base& a)
{a.show();}
int main()
{
D1 d1;
D2 d2;
fun(d1);
fun(d2);
return 0;
}
大家看看这段代码输出的是什么?
为什么?
谢谢!