早期绑定:c++编译器在编译的时候,要确定每个对象调用的函数(非虚函数)的地址。

晚期绑定:在运行时再去确定对象的类型以及正确的调用函数。

虚表的创建:它初始化父类对象的虚表指针,该虚表指针指向父类的虚表,当执行子类的构造函数时,子类对象的虚表指针被初始化。

 

object类的定义

class object {
    int a;
    int b;

public:
    object(): a(0), b(1) {}
    virtual void f() {}
};

object对象内存结构

C++ 多态的实现及原理

 

获取type_info对象

C++ 多态的实现及原理

 

相关文章:

  • 2021-11-15
  • 2021-08-29
  • 2022-12-23
  • 2021-05-30
  • 2022-12-23
  • 2021-06-28
  • 2022-12-23
猜你喜欢
  • 2022-01-02
  • 2021-05-02
  • 2021-11-04
  • 2021-11-24
  • 2022-12-23
相关资源
相似解决方案