#include <iostream.h> class Base { public: virtual void f(float x) { cout<<"Base::f(float)"<<x<<endl; } void g(float x) { cout<<"Base::g(float)"<<x<<endl; } void h(float x) { cout<<"Base::h(float)"<<x<<endl; } }; class Derived:public Base { public: virtual void f(float x) //覆盖 { cout<<"Derived::f(float)"<<x<<endl; } void g(int x) //隐藏,不是重载 { cout<<"Derived::g(int)"<<x<<endl; } void h(float x) //隐藏,不是覆盖 { cout<<"Derived::h(float)"<<x<<endl; } }; void main(void) { Derived d; Base *pb=&d; Derived *pd=&d; pb->f(3.14f); pd->f(3.14f); pb->g(3.14f); pd->g(3.14f); pb->h(3.14f); pd->h(3.14f); }