C++中重载、覆盖和隐藏的区别

标签: 重载 覆盖 隐藏
6人阅读 评论(0) 收藏 举报
分类:


一、重载: 是函数名相同,参数列表不同 重载只是在类的内部存在。但是不能靠返回值类型来判断。

规则如下:

1、相同的范围(在同一个类中)
2、函数名字相同
3、参数不同

4、Virtual关键字可有可无、


二、覆盖: 在继承关系中,子类中定义了与父类同名的虚函数,从而子类自己本身定义的虚函数,在子类的虚函数表中,其虚函数地址将会替代从父类中继承的虚函数地址。这种情况叫做覆盖。

规则如下:

1、不同的范围,分别位于基类和派生类中
2、函数的名称同
3、参数相同
4、基类函数必须有virtual关键字



三、隐藏: 也叫重定义,是指派生类的函数屏蔽了与其同名的基类函数。

规则如下:

1、如果派生类的函数和基类的函数同名,但是参数不同,此时,不管有无virtual,基类的函数被隐藏。
2、如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有virtual关键字,此时,基类的函数被隐藏
查看评论

细细品味ASP.NET (二)

细细品味ASP.NET (二)青苹果工作室(编译) 01-5-17 下午 01:33:55Web表单 ASP.NET Web Forms就是Web页面,同现在你用 ASP编写代码所做的工作是一样的。...
  • tchaikov
  • tchaikov
  • 2001-05-17 18:50:00
  • 981

C++中重载、重写(覆盖)和隐藏的区别

如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数有virtual关键字。此时,基类的函数不会被“隐藏”。(在这里,你要理解为覆盖哦^_^) 隐藏”是指派生类的函数屏蔽了与其同名的基类...
  • zx3517288
  • zx3517288
  • 2015-10-08 18:33:48
  • 5485

C++中成员函数的重载、覆盖和隐藏的区别

转载请注明,原创地址:点击打开链接   http://blog.csdn.net/u010587274/article/details/38928561 个人微信公众号:tanzi_888 (...
  • u010587274
  • u010587274
  • 2014-08-29 17:42:00
  • 1775

C++中重载、重写(覆盖)和隐藏的区别实例分析

这篇文章主要介绍了C++中重载、重写(覆盖)和隐藏的区别,是C++面向对象程序设计非常重要的概念,需要的朋友可以参考下 函数重载: 在C++程序中,可以将语义、功能相似的几个函...
  • ycl295644
  • ycl295644
  • 2015-05-06 18:34:31
  • 1313

c++的重载、覆盖和遮蔽(隐藏)

C++的重载、覆盖和遮蔽(隐藏) 为了说明这三者的区别,引入函数签名的概念 函数签名主要包括1、函数名;2、参数的个数、数据类型和顺序 但是注意,函数签名不包括返回值 1、重载 在同一个类中...
  • wanghuiqi2008
  • wanghuiqi2008
  • 2014-06-04 19:10:55
  • 2547

c++ 覆盖、重载、隐藏

“overload”翻译过来就是:超载,过载,重载,超出标准负荷;“override”翻译过来是:重置,覆盖,使原来的失去效果。先来说说重载的含义,在日常生活中我们经常要清洗一些东西,比如洗车、洗衣服...
  • besthyq
  • besthyq
  • 2006-11-08 11:55:00
  • 9245

面向对象中的重载、覆盖和隐藏

1.重载是一个类内部实现相同机理的操作,但是操作的对象不同。主要体现在:  方法在同一个类中重载的方法名称相同参数不同(参数的类型不同,参数的个数不同)virtual关键字可有可无    ...
  • longshengguoji
  • longshengguoji
  • 2013-12-30 23:27:03
  • 6952

c++三大概念要分清--重载,隐藏(重定义),覆盖(重写)

重载,隐藏(重定义),覆盖(重写)—这几个名词看着好像很像,不过其实一样都不一样!!综述:一、重载:(1) 概念:在同一个作用域内;函数名相同,参数列表不同(参数个数不同,或者参数类型不同,或者参数...
  • gogogo_sky
  • gogogo_sky
  • 2017-06-05 20:22:30
  • 865

C++中重载和覆盖的区别

一. 重载1.
  • cgl1079743846
  • cgl1079743846
  • 2014-05-28 11:29:17
  • 8325

Java中类成员函数重载、覆盖和隐藏的区别

重载: 成员函数被重载的特征: 1) 相同的范围:在同一个类中 2) 函数名相同,参数不同 3) virtual可有可无 覆盖: 派生函数覆盖基类函数 1) 位于不同的范围内(子类和父类之间) 2) ...
  • qq_34163820
  • qq_34163820
  • 2016-08-30 16:51:17
  • 524
    个人资料
    等级:
    访问量: 323
    积分: 99
    排名: 142万+
    文章分类
    文章存档