函数重载与函数覆盖有什么不同?它们与多态有什么关系?

C++题目,求高手帮忙
哪位大侠给我具体完整的答案.谢谢

按照对多态“同样的操作,得到不同的结果”的观点,重载(overload)和覆盖(override)都是实现多态的手段。其中,重载是静态多态实现,在程序编译时实现;覆盖是动态多态实现,在程序运行时实现。
重载:重载函数是定义在全局或某个类中。其要求是同名但参数不同的函数。而父类与子类中实现出现同名但参数不同的函数,不管是否有virtual,其基类函数将被隐藏,注意与重载区别,其调用时需在父类的成员函数前加T::进行区分(其中T为父类名)。
覆盖:函数必须是virtual,这是首要条件。其要求在不同域中(如子父类中),且要求函数名,参数,返回值都相同。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-18
重载是同一个域中(如同一个类中),同名但参数不同的函数。
覆盖是子父类中(不同域)相同函数(函数名和参数)但具体实现在子父类中不尽相同。本回答被网友采纳
第2个回答  2011-05-19
概念的跟下面的一样,它们都是多态的2种不同形式

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网