总结:虚函数默认参数看指针,基类指针指向派生类时使用使用基类默认参数调用派生类函数。
class cbase
{
public:
virtual void func(int a = 10)
{
cout << "this is cbase func:" << a << endl;
}
};
class csub : public cbase
{
public:
void func(int a = 20)
{
cout <<"this is csub func:"<< a << endl;
}
};
int main()
{
cbase *cbToCb = new cbase;
cbase *cbTocSub = new csub;
csub *cSubTocSub = new csub;
cbToCb->func(); // "this is cbase func:10"
cbTocSub->func(); // "this is csub func:10"
cSubTocSub->func(); // "this is csubfunc:20"
}