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

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

  • 相关阅读:
    个人介绍
    2021-03-16 助教小结
    2020软件工程作业05
    2020软件工程作业04
    2020软件工程作业03
    第二次作业 计划与执行
    从蓝天到名利 所有你想要的 都别随风去
    Android Task 相关
    Android ViewDragHelper源码解析
    android利用反射通过代码收缩通知栏
  • 原文地址:https://www.cnblogs.com/xqn2017/p/8029534.html
Copyright © 2011-2022 走看看