原因 当在C++子类中定义了一个与父类同名,但是参数不同的成员函数时,编译器会报“‘xxx::xxx’ hides overloaded virtual function”这样一个警告,意思是“隐藏重载的虚拟函数”。这样做的主要目的是为了防止误写,比如本来是想覆盖原父类中的成员函数,但不一小心把参数写错,搞成重载了。 class A { public: virtual void demo( int x ) { cout << x << endl; }