当前位置:  编程技术>c/c++/嵌入式

C++中overload,override,overwrite的区别详细解析

    来源: 互联网  发布时间:2014-10-19

    本文导语:  Overload(重载):在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,但参数或返回值不同(包括类型、顺序不同),即函数重载。(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)vi...

Overload(重载):在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,但参数或返回值不同(包括类型、顺序不同),即函数重载。
(1)相同的范围(在同一个类中);
(2)函数名字相同;
(3)参数不同;
(4)virtual 关键字可有可无。

Override(覆盖):是指派生类函数覆盖基类函数,特征是:
(1)不同的范围(分别位于派生类与基类);
(2)函数名字相同;
(3)参数相同;
(4)基类函数必须有virtual 关键字。

Overwrite(重写):是指派生类的函数屏蔽了与其同名的基类函数,规则如下:
(1)如果派生类的函数与基类的函数同名,但是参数不同。此时,不论有无virtual关键字,基类的函数将被隐藏(注意别与重载混淆)。

(2)如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual关键字。此时,基类的函数被隐藏(注意别与覆盖混淆)。


    
 
 

您可能感兴趣的文章:

  • C++中Overload,Override,Hide之间的区别
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 谁能告诉我OVERLOAD和OVERRIDE的中文释义和具体上的区别?
  • 咨询以下:Thinking in java里,覆写(overriding)和重载(overloading)到底有什么区别?!
  • 关于overload和override方法的问题?
  • overriding & overloading的问题
  • overload override的问题一道
  • Java overload和override的区别分析
  • mod_overload
  • why it is overload?
  • Overloading的每个同名方法的访问控制符和返回类型能不能不同啊?
  • 我的理解有没有错,overrriding是参数必须不同,其它的必须相同,而overloading是参数不同外,存取操作符和返回类型可以不同,
  • Overloading的几个同名方法的声明部分可以抛出完全不同的异常列表吗,还可以有的抛出异常,有的不抛出吗?
  • 请问方法中参数个数相同但参数类型不同,该算是overload(重载)吗?
  • overload一题?????????????


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3