6.10、联编

  • 动态联编
    1、是指在程序执行的时候才将函数实现和函数调用关联,因此也叫运行时绑定或者晚绑定。C++中一般情况下联编也是静态联编,但是一旦涉及到多态和虚拟函数就必须要使用动态联编了
    2、通过一个虚函数表(Virtual Table)的技术实现动态联编,也意味着实现了多态。
    3、在如果一个类中存在虚函数时,当我们创建这个类对象时就会在开始位置多4个指针地址空间用作存储这个类中多个虚函数的地址表(虚函数表),即意味着通过对象调用虚函数时,会通过这4个字节找到虚函数执行。
    6.10、联编
    4、当在基类中有虚函数时,派生类中同样存在虚函数,所以在创建派生类对象时,也会有4个字节存放虚函数表,但存放的是自己的虚函数表,如果派生类实现基类的同名同返回值同参数函数,则派生类中只会有自己的同名同返回值同参数函数而没有基类的。
    6.10、联编
    6.10、联编