覆盖的条件:
- 基类函数必须是虚函数(使用Virtual关键字进行声明);
- 发生覆盖的两个函数必须分别位于派生类和基类中;
- 函数名称与参数列表必须完全一样
-
#include<iostream.h>
class Base
-
{
public:
virtual void xfn(int i)
{
cout<<"Base::xfn(int i)"<<endl;
}
};
class Derived:public Base
{
public:
void xfn(int i) //覆盖基类的xfn函数
{
cout<<"Derived::xfn(int i)"<<endl;
}
};
void main()
{
Derived d;
Base *pB=&d;
Derived *pD=&d;
pB->xfn(5);
pD->xfn(5);
}
-
注意:函数的覆盖是发生在派生类和基类之间,两个函数必须完全相同,并且都是虚函数。
转载请标明出处:函数的覆盖
文章来源: 函数的覆盖