将源代码中的函数调用解释为执行对应的函数代码块被称为函数名联编,
静态联编
C/C++编译器可以在编译过程中完成这种函数名联编叫做静态联编。又称为早期联编。编译器对非虚方法使用静态联编。
动态联编
在程序运行时选择正确的虚函数代码的方法称为动态联编,又称为晚期联编。编译器对虚方法使用动态联编。
使用虚函数的缺点
1 每个对象都将增大,在内存和执行速度方面有一定的成本。
2 对于每个类,编译器都创建一个虚函数地址表(数组)。
3 对于每个函数调用,都需要执行一项额外的操作,即到表中查找地址。