美文网首页
多态和虚函数

多态和虚函数

作者: Felicia1993 | 来源:发表于2017-10-20 16:49 被阅读0次

    多态可以分为静态多态和动态多态

    静态多态:函数重载,泛型编程,编译器在编译期间内完成的,编译器根据函数实参的类型可推断出调用哪个函数

    动态多态:虚函数实现并给于类继承来表现

    动态多态的机制:

    1.子类继承父类

    2.类实现接口

    动态绑定的条件:

    1.必须是虚函数

    2.通过基类类型的引用或者指针调用

    总结:

    1.派生类重写基类的虚函数实现多态,要求函数名、参数列表、返回值完全相同

    2.基类中定义了虚函数,在派生类中该函数始终保持虚函数的特性

    3.只有类的成员函数才能定义虚函数,静态成员函数不能定义虚函数

    4.如果在类外定义虚函数,只能在声明函数时加上virtual关键字,定义时不用加

    5.构造函数不能定义为虚函数,

    6.不要在构造函数和析构函数中调用虚函数,在构造函数和析构函数中,对象是不完整的,可能会出现未定义的行为

    7.最好将基类的析构函数声明为虚函数。

    8.虚表是所有类对象实例共用的

    易混淆的知识点

    相关文章

      网友评论

          本文标题:多态和虚函数

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