虚函数中的默认参数
默认参数是静态绑定的,而虚函数是动态绑定的。
默认参数的使用要看指针或者引用本身的类型,而不是对象的类型
#include <iostream> using namespace std; class Base { public: virtual void fun ( int x = 10 ) { cout << "Base::fun(), x = " << x << endl; } }; class Derived : public Base { public: virtual void fun ( int x=20 ) { cout << "Derived::fun(), x = " << x << endl; } }; int main() { Derived d1; Base *bp = &d1; bp->fun(); // 10 return 0; }
无情的摸鱼机器