永发信息网

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

答案:3  悬赏:50  手机版
解决时间 2021-11-24 23:04
  • 提问者网友:末路
  • 2021-11-24 07:21
函数重载与函数覆盖有什么不同?它们与多态有什么关系?
最佳答案
  • 五星知识达人网友:走死在岁月里
  • 2021-11-24 08:45
按照对多态“同样的操作,得到不同的结果”的观点,重载(overload)和覆盖(override)都是实现多态的手段。其中,重载是静态多态实现,在程序编译时实现;覆盖是动态多态实现,在程序运行时实现。
重载:重载函数是定义在全局或某个类中。其要求是同名但参数不同的函数。而父类与子类中实现出现同名但参数不同的函数,不管是否有virtual,其基类函数将被隐藏,注意与重载区别,其调用时需在父类的成员函数前加T::进行区分(其中T为父类名)。
覆盖:函数必须是virtual,这是首要条件。其要求在不同域中(如子父类中),且要求函数名,参数,返回值都相同。
全部回答
  • 1楼网友:人類模型
  • 2021-11-24 09:36
概念的跟下面的一样,它们都是多态的2种不同形式
  • 2楼网友:有你哪都是故乡
  • 2021-11-24 09:13
重载是同一个域中(如同一个类中),同名但参数不同的函数。
覆盖是子父类中(不同域)相同函数(函数名和参数)但具体实现在子父类中不尽相同。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯