美文网首页
多态与重载的区别

多态与重载的区别

作者: a11en0 | 来源:发表于2018-06-22 20:42 被阅读0次

    重载可认为是静态的多态,静态联编,发生在编译阶段

    多态是动态的,动态联编,发生在运行阶段

    静态的比动态的效率高,但动态的最大优点是多态性,提高代码复用性。

    实现多态公有继承有两种机制

    1. 在派生类中重新定义基类方法。重新定义的方法和基类中的方法完全一致。即,函数名一致,函数的返回值类型一致,参数列表一致,只是行为不同,这就是多态公有继承;

    多态必要条件:

    • 继承;
    • 参数列表和返回值必须完全一致的同名函数,即虚方法。

    2 .虚方法;

    函数重载的关键是什么

    关 键 在 于 函数的参数列表——特征标, 参数列表指的是参数的数量参数的类型以及参数的顺序
    函数的返回值类型可以相同也可以不同,但是若想实现函数的重载,参数列表必须不同。前提是函数名相同。

    注意:类型引用和类型本身为同一特征标,如:void show(int i) 和 void show(int &i)不是函数的重载,是一个函数。

    相关文章

      网友评论

          本文标题:多态与重载的区别

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