虚函数实现的简单例子

#include<iostream>
using namespace std;
int main(){
        class A{
                public:
                virtual void foo(){ 
                        cout<<"A::foo() is called"<<endl;
                }
        };
        class B:public A{  
                public:
                void foo(){ 
                        cout<<"B::foo() is called"<<endl;
                }
        };
    
        A *a = new B();
        a->foo();   // 在这里,a虽然是指向A的指针,但是被调用的函数(foo)却是B的! 
        return 0;
}
输出结果:B::foo() is called

posted @ 2017-04-11 20:35  倾耳听  阅读(251)  评论(0编辑  收藏  举报