美文网首页
2018-07-22 重载、重写(覆盖)、隐藏

2018-07-22 重载、重写(覆盖)、隐藏

作者: SITrustYou | 来源:发表于2018-07-23 13:57 被阅读0次

    成员函数的重载,覆盖(多态)和隐藏

    重载

    函数名相同,函数的参数列表不同(包括参数个数和参数类型),至于返回类型可同可不同:
    1、具有相同的作用域,即在同一个类声明中
    2、返回值相同,函数的参数不同
    3、同名const方法和非const方法之间的重载不受到2的约束,同类重载受到2的约束
    4、不需要virutal 关键字。

    覆盖(多态)override

    派生类重新实现或者改写了基类的成员函数:
    1、不同的作用域(分别位于派生类和基类中)。
    2、函数名称相同。
    3、函数的参数也完全相同。
    4、基类必须有virtual关键字,子类则可有可无。
    5、若虚函数存在重载的情况,遵循基类而不遵循子类。
    6、构造函数中虚函数无效,总是调用本类型方法不会调用覆盖方法。

    隐藏

    派生类的函数屏蔽了与其同名的基类函数
    1、不同的作用域(分别位于派生类和基类)。
    2、函数名称相同。
    3、函数的参数也完全相同。
    4、不需要virtual关键字。
    5、总是调用引用类型对应的方法。

    相关文章

      网友评论

          本文标题:2018-07-22 重载、重写(覆盖)、隐藏

          本文链接:https://www.haomeiwen.com/subject/ntxjmftx.html