虚函数和缺省实参

来源:互联网 发布:真三国无双3渣优化 编辑:程序博客网 时间:2024/05/16 03:33
#include <iostream>using namespace std;class A{public:        virtual void foo(int a = 1024)        {                cout << " A -> foo " << a << endl;        }};class B : public A{public:        virtual void foo(int a = 2048)        {                cout << " B -> foo " << a << endl;        }};int main(){        B* b = new B;        b->foo();        A* a = b;        a->foo();}

输出结果:

/home/a/j/nomad2:./a.out        B -> foo 2048 B -> foo 1024

传给foo的缺省实参不是在运行时决定的,而是在编译时根据被调用函数的对象的类型决定的。

原创粉丝点击