zoukankan      html  css  js  c++  java
  • 对C++ 虚函数的理解

    C++多态是通过虚函数实现的,虚函数允许派生类重新定义基类的成员函数,而派生类重新定义基类的做法称为覆盖,或者重写。
    多态和非多态的区别在于函数地址是早绑定还是晚绑定,如果函数的调用在编译期间就确定了调用地址,并产生代码,是静态的,就是说地址是早绑定的,而如果函数调用的地址不能在编译器期间确定,需要在运行期间确定,就是晚绑定。封装可以使得代码模块化,集成可以扩展已存在的代码,目的都是代码重用,而多态的目的是为了接口重用,也就是说,不论传递过来是究竟是哪个类的对象,函数都能够通过同一个接口调用到适应各自对象的实现方法。
    最常见的用法就是声明基类的指针,利用该指针指向任意一个子类对象,调用相应的虚函数,可以根据指向子类的不同而实现不同的方法,如果没有使用虚函数,那么在利用基类指针调用相应函数的时候,将总会限制在基类函数本身,而无法调用到子类中被重写过的函数。

  • 相关阅读:
    jqueryUI弹出框问题
    spring data jpa分页
    解决eclipse编辑js和html卡的问题
    web.xml添加编码过滤器
    Apache SolrCloud安装
    搭建zookeeper集群
    html页面读取PDF小案例
    .NET 使用Process调用7_zip解压文件
    .NET 中三种正确的单例写法
    Git 笔记
  • 原文地址:https://www.cnblogs.com/xqn2017/p/8029534.html
Copyright © 2011-2022 走看看