美文网首页
C++ 多态相关问题

C++ 多态相关问题

作者: Lee_Lemon | 来源:发表于2019-03-28 23:53 被阅读0次

    1.new和molloc()的区别
    来自于https://www.cnblogs.com/ywliao/articles/8116622.html

    new和molloc区别

    2.C++多态性与虚函数表
    https://blog.csdn.net/qq_36359022/article/details/81870219
    1:用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。
    2:存在虚函数的类都有一个一维的虚函数表叫做虚表,类的对象有一个指向虚表开始的虚指针。虚表是和类对应的,虚表指针是和对象对应的。
    3:多态性是一个接口多种实现,是面向对象的核心,分为类的多态性和函数的多态性。
    4:多态用虚函数来实现,结合动态绑定.
    5:纯虚函数是虚函数再加上 = 0;
    6:抽象类是指包括至少一个纯虚函数的类。
    3.C++多态的实现?
    https://blog.csdn.net/qq_39412582/article/details/81628254

    4.虚函数的作用?
    允许在派生类中重新定义与基类同名的函数,并且可以通过基类指针或引用来访问基类和派生类中的同名函数。

    虚函数的使用方法是:
    1.在基类用virtual声明成员函数为虚函数可以在派生类中重新定义此函数,为它赋予新的功能,并能方便地被调用。

    在类外定义虚函数时,不必再加virtual。

    2.在派生类中重新定义此函数,要求函数名、函数类型、函数参数个数和类型全部与基类的虚函数相同,并根据派生类的需要重新定义函数体。

    在派生类重新声明该虚函数时,可以加virtual,也可以不加,但习惯上一般在每一层声明该函数时都加virtual,使程序更加清晰。

    3.如果在派生类中没有对基类的虚函数重新定义,则派生类简单地继承其直接基类的虚函数。
    5.动态绑定是如何实现的?
    https://blog.csdn.net/solococoanet/article/details/79482646
    6.静态多态和动态多态
    静态多态分为:函数重载和泛型编程
    动态多态:虚函数
    7.虚函数表

    8.虚函数表是针对类的还是针对对象的?同一个类的两个对象的虚函数表是怎么维护的?
    编译器为每一个类维护一个虚函数表,每个对象的首地址保存着该虚函数表的指针,同一个类的不同对象实际上指向同一张虚函数表。

    相关文章

      网友评论

          本文标题:C++ 多态相关问题

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