当基类和继承类中的虚函数同时有默认参数时,通过基类引用或指针调用虚函数,默认参数为基类的默认参数
#include <iostream>
class A
{
public:
virtual int get(int val=5)
{
std::cout << "This is A" << std::endl;
return val;
}
private:
int a;
};
class B:public A
{
public:
int get(int val=8)
{
std::cout << "This is B" << std::endl;
return val;
}
};
int main(void)
{
B b;
A& a = b;
std::cout << a.get() << std::endl;
return 0;
}
运行结果:
This is B
5