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三个类的虚函数表如下:

虚函数的动态绑定:

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

 

posted @ 2019-03-19 15:41  执剑走天涯  阅读(2943)  评论(0编辑  收藏  举报