C++中虚函数使用和详解


虚函数是什么:

virtual + 函数 : 这样的函数是虚函数 ,该函数和普通函数没有啥区别,就是虚函数的地址放在虚函数表中(虚函数表在基类部分首部),实现动态绑定。基类和派生类的虚函数,函数名,参数类型,参数数量必须相同

虚函数功能是什么:

派生类继承基类的相关函数,这些函数的功能需要重新定义,但是基类和派生类调用起来不方便,常用的方式是在基类函数前加上virtual关键字则派生类中定义的该函数(函数名,参数类型,参数数量相同)也是虚函数。然后调用相关方法。

虚函数表:

Class A{

public:

  virtual void function();

  virtual void functionb();

  int a;

  int b;

}

Class B : public Class A

{

  public:

    virtural void function();

    int c;

    

}

Class C:public Class B

{

  public:

    virtual void functionb();

}

A,B,C三个类的虚函数表如下:

虚函数的动态绑定:

  对象经过编译器编译后,虚函数表中保存虚函数的地址,当对象调用虚函数的时候,会到虚函数表(基类中)中找到相应的虚函数,实行动态绑定。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM