做的好的招投标网站,网站建设有哪些文件,crm客户端,网站建设的内部风险转载#xff1a;http://blog.csdn.net/worldmakewayfordream/article/details/46827161 函数的覆盖 覆盖发生的条件#xff1a; #xff08;1#xff09; 基类必须是虚函数#xff08;使用virtual 关键字来进行声明#xff09; #xff08;2#xff09;发生覆盖的两个函…转载http://blog.csdn.net/worldmakewayfordream/article/details/46827161 函数的覆盖 覆盖发生的条件 1 基类必须是虚函数使用virtual 关键字来进行声明 2发生覆盖的两个函数分别位于派生类和基类 3函数名和参数列表必须完全相同 函数的隐藏 隐藏发生的条件 1子类和父类的函数名相同参数列表可以不一样 看完下面的例子就明白了 [cpp] view plaincopy #include iostream using namespace std; class CBase{ public: virtual void xfn(int i){ cout Base::xfn(int i) endl; //1 } void yfn(float f){ cout Base::yfn(float) endl; //2 } void zfn(){ cout Base::zfn() endl; //3 } }; class CDerived : public CBase{ public: void xfn(int i){ cout Derived::xfn(int i) endl; //4 } void yfn(int c){ cout Derived:yfn(int c) endl; //5 } void zfn(){ cout Derived:zfn() endl; //6 } }; void main(){ CDerived d; CBase *pb d; CDerived *pd d; pb-xfn(5); //覆盖 pd-xfn(5); //直接调用 pb-yfn(3.14f); //直接调用 pd-yfn(3.14f); //隐藏 pb-zfn(); //直接调用 pd-zfn(); //隐藏 }