虚拟函数默认参数的问题
两个类定义如下:
class Base
{
public:
virtual void fun(int a = 10)
{
cout<<"Base::fun a = "<<a;
}
};
class Decent : public Base
{
public:
void fun(int a = 20)
{
cout<<"Decent::fun a = "<<a;
}
};
main()
{
Base *p = new Decent;
p->fun();
}
结果是Decent::fun a = 10
怎样使Descent::fun的默认参数值为20呢?