zoukankan      html  css  js  c++  java
  • C++ 虚函数、多态、为什么需要虚拟析构函数

    1、类的对象通过一个虚函数表vftb来维护类中所有的虚函数,vftb相当于一个元素类型为函数指针的数组

    2、派生类继承基类中的虚函数,如果没有在派生类中重新定义虚函数,则虚函数表中相同虚函数的地址值是相同的,否则,不相同

    3、派生类如果想重新定义基类中的虚函数,则派生类中虚函数的申明与基类相同,定义不同

    4、虚函数实现了晚期绑定技术,普通的成员函数的调用直接在编译阶段就确定了,而虚函数则在编译时生成:对象-》虚函数表-》函数的形式,因此只有动态运行根据具体的对象来调用函数

    5

     5、C++ 通过虚函数来实现多态,可以将派生类的地址值赋给基类的指针、可以将派生类的值赋给基类的引用。这种情况下指针或引用与所指向的对象与引用的对象类型不一致,这在C语 言  中是不允许的。C++通过这种方式来实现的多态,即根据运行时来确定对象调用哪个函数,即函数的调用取决于指针或引用所指向或引用对象的值,而不是指针或引用的类型

     6、为什么需要虚拟析构函数?

      

  • 相关阅读:
    MySQL 命令(一)
    HTML5 表单新增元素与属性
    怎样用SQL修改某个字段的部分内容
    百度sitemap.xml
    Dedecms自定义表单后台列表展现方式样式更改
    织梦seo
    织梦DedeCMS自定义表单diy_list.htm
    织梦采集文章
    播放视频插件swfobject.js与Video Html5
    织梦简单的自定义表单字段
  • 原文地址:https://www.cnblogs.com/guoyuanwei/p/3020587.html
Copyright © 2011-2022 走看看