求助。。。。overload 与 override的区别??谢谢!!

mihonghang 2005-07-09 11:08:57
rt
...全文
117 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
云梦谭 2005-07-09
  • 打赏
  • 举报
回复
overload是重载,重载是一种参数多态机制,即代码通过参数的类型或个数不同而实现的多态机制。
是一种静态的绑定机制(在编译时已经知道具体执行的是哪个代码段)。

override是覆盖。覆盖是一种动态绑定的多态机制。即在父类和子类中同名元素(如成员函数)有不同
的实现代码。执行的是哪个代码是根据运行时实际情况而定的。
qhfu 2005-07-09
  • 打赏
  • 举报
回复
重载和覆盖
truewill 2005-07-09
  • 打赏
  • 举报
回复
Overload的原意是“超载”,指几个方法的名字相同,但是方法的参数不同
Override的含义和Overwrite相同,表示子类的方法覆盖了父类的同名方法。
truewill 2005-07-09
  • 打赏
  • 举报
回复
http://software.ccidnet.com/pub/disp/Article?articleID=26089&columnID=294
Bob_yang_ido 2005-07-09
  • 打赏
  • 举报
回复
Overload是让类的同一个方法能有不同的行为,用户在使用时可以通过传递不同的参数由编译器去选择那一种行为,它的适应性局限在同一个类内。
Override是子类去重写父类的方法,特征就是父类在声明该方法时要有virtual关键字,而且子类的的方法除实现不同外其他都与父类的方法相同(virtual可选)。与C++t提供的“Upcast”机制协同就可以实现对象的动态绑定。
firstdreamer 2005-07-09
  • 打赏
  • 举报
回复
前者是重载,后者是覆盖(就是重写的意思)

64,636

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧