#include <iostream>
using namespace std;
class Base{
public:
Base(){}
virtual void g(int i=10){
cout<<"Base::g()"<<i<<endl;
}
};
class Derived : public Base{
public:
Derived(){}
void g(int i = 20){
cout<<"Derived::g()"<<i<<endl;
}
};
int main() {
Base *pb = new Derived;
pb->g();
return 0;
}
输出
Derived::g()10
为什么不是Derived::g()20???