多态可以被称为:调用“同名函数”却会因上下文不同会有不同的实现的一种机制。
多态三要素:一是“相同函数名”,二是“依据上下文”,三是“实现却不同”
多态的好处:一是不用记大量的函数名了,二是它会依据调用时的上下文来确定实现。
虚函数:
首先来说一说虚函数,所谓虚函数是这样一个概念:基类中有这么一些函数,这些函数允许在派生类中其实现可以和基类的不一样。在C++中用关键字virtual来表示一个函数是虚函数。
C++中还有一个术语 “覆盖”与虚函数关系密切。所谓覆盖就是说,派生类中的一个函数的声明,与基类中某一个函数的声明一模一样,包括返回值,函数名,参数个数,参数类型,参数次序都不能有差异。
(注
1
)说覆盖和虚函数关系密切的原因有两个:一个原因是,只有覆盖基类的虚函数才是安全的。第二个原因是,要想实现基于虚函数的多态就必须在派生类中覆盖基类的虚函数。
http://www.360doc.com/content/11/0710/17/1976682_132733496.shtml