函数的覆盖

匿名 (未验证) 提交于 2019-12-02 23:00:14

覆盖的条件:

  •  基类函数必须是虚函数(使用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);

    }

  • 注意:函数的覆盖是发生在派生类和基类之间,两个函数必须完全相同,并且都是虚函数。

转载请标明出处:函数的覆盖
文章来源: 函数的覆盖
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!