重载 覆盖 隐藏的区别

重载的特征:

  1. 必须在同一个域中(同一个函数中)
  2. 函数名相同,参数不同(参数类型,参数个数)
  3. Virtual  可有可无
  4. 作用:使一个函数具有不同的方法

覆盖的特征:

  1. 必须在不同的域中(分别在基类与派生类中)
  2. 函数名形同,参数相同
  3. 必须具有virtual(基类必须,派生类可有可无)
  4. 作用:派生类的虚函数覆盖了基类的同名同参数的函数。是多态支持的特性,基类的指针或引用在调虚函数时根据运行时实际指向的对象调用函数。

隐藏的特征:

  1. 必须在不同的域中(分别在基类与派生类中)
  2. 函数名相同,参数相同,基类中没有virtual,则派生类函数隐藏了基类中的函数
  3. 函数名相同,参数不同,virtual可有可无,则隐藏
posted @ 2013-04-21 11:47  成长的点点滴滴  阅读(127)  评论(0)    收藏  举报