其实多态调用,总结起来很简单,

1    父类的虚方法在子类中会有拷贝,且slot一一对应

2   编译的时候,如果是变量所在类型里,该函数是虚函数,那么虚函数会形成这样的模式【实际的对象类型】+【slot偏移量】  ,其中slot偏移量对于同一个虚函数来说,他是固定的

     这样在执行的时候,根据实际的类型,就形成多态调用了

    如果是变量所在类型里该函数不是虚函数,在编译后一个指针,直接指向了要调用函数的地址

 

 

 

 

 

相关文章:

  • 2021-08-16
  • 2021-07-26
  • 2022-01-08
  • 2021-12-05
  • 2021-10-12
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-09-03
  • 2022-01-15
  • 2021-08-08
  • 2021-12-16
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案