FlyingCode

导航

 

缺省参数值是静态绑定的

代码:

#include "iostream"  
using namespace std;  
class base{  
    public:  
        virtual void fun(int i=1){  
            cout<<"base::"<<i<<endl;  
        }  
  
};  
class derive:public base  
{  
private:  
    virtual void fun(int i=2){  
        cout<<"derive::"<<i<<endl;  
    }  
};  
int main(int argc, char const *argv[])  
{  
    base *test = new derive();  
    test->fun();//此时输出的i仍然是1,而不是derive里面的2  
    return 0;  
}  

因此

绝不重新定义继承而来的缺省参数值

绝不重新定义继承而来的缺省参数值

绝不重新定义继承而来的缺省参数值

posted on 2017-08-03 17:31  hhbeast  阅读(139)  评论(0)    收藏  举报