参考:
http://blog.youkuaiyun.com/u010885095/article/details/9046411
http://blog.youkuaiyun.com/hackbuteer1/article/details/7475622
函数名联编:将源代码中的函数调用解释为执行特定函数代码块
静态联编:在编译过程中的联编
动态联编:在程序运行过程中的联编
多态分为静态多态和动态多态。
静态多态包括:
模板,函数名重载,运算符重载
显然都为静态联编
动态多态只有一种:
覆盖
为动态联编
覆盖只发生在:在派生类中重写基类的虚函数,该函数会继承virtual这个属性,不论在定义时有没有加入virtual关键字,并且由于使用了函数名,会导致基类中的同名函数被隐藏。如果想要取消隐藏,可以用如下语句:
using 基类::函数名;
覆盖,隐藏,函数名重载这些概念之间完全没有联系,一定要弄清楚。
覆盖特指派生类重写基类虚(强调)函数
隐藏是指外部名称与内部名称相同时,外部名称对内部不可见。当然也可以发生在类继承的时候。
函数名重载是指同一个类中,函数名由于特征标不同,可以分别定义和调用