函数的重载重写与隐藏

Posted hunter-w

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数的重载重写与隐藏相关的知识,希望对你有一定的参考价值。

重载

  1. 相同的范围(在同一个类中)
  2. 相同的函数名字,不同的参数列表,与返回值类型没有关系
  3. virutal关键字可有可无

重写

  1. 不同的范围(分别位于派生类与基类)
  2. 相同的函数名字,相同的参数
  3. 基类函数必须要有virtual关键字

隐藏

隐藏指在某些情况下,派生类中的函数屏蔽了基类中的同名函数,包括以下几种情况

  1. 两个函数参数相同,但是基类不是虚函数。和覆盖的区别在于基类函数是否是虚函数
  2. 两个函数参数列表不同,无论基类函数是否虚函数,基类函数都将被覆盖。和重载的区别在于两个函数不在同一个类中

以上是关于函数的重载重写与隐藏的主要内容,如果未能解决你的问题,请参考以下文章

类中的同名函数关系,重载,覆盖/重写,隐藏

函数重载和覆盖(重写)的区别

构造函数,重载与重写的区别,静态成员和方法

为啥派生类中的重写函数会隐藏基类的其他重载?

为啥派生类中的重写函数会隐藏基类的其他重载?

为啥派生类中的重写函数会隐藏基类的其他重载?