C++中的多态分析
2019-04-06 13:43
218 查看
C++中的多态,可以理解为就是多种形态,也就是对不同的对象发送同一个消息,不同的对象会作出不同的响应;
多态分为静态和动态多态
静态多态
就是在编译阶段就可以确定程序的具体执行,比如函数的重载,模板,使用对象名点访问成员函数等,这些都可以在编译阶段就可以确定下来。其中函数重载就是通过不同的函数符号名来区分调用,模板也是在编译阶段对不同类型,作出不同的实例化,而对象名通过点访问成员函数就是通过this指针来实现。
动态多态
利用虚函数来实现运行时候的动态多态,就是在编译阶段不知道程序具体要调用的函数,只有在程序运行到的时候才能确定要开辟那个函数的栈帧。
首先说一下,什么是虚函数
虚函数就是在基类中声明该函数是虚拟的(通过在函数之前加上virtual关键字),然后在子类正式定义(自己中该函数的函数名,返回值,函数参数个数,参数类型都和基类声明的虚函数相同,此时才是重写,不然就是函数的重载)在定义一个基类对象的指针,然后是该指针指向该基类派生的子类对象,然后再通过这个指针来调用虚函数,实现动态多态
相关文章推荐
- C++基础:多态的实现原理分析
- C++多态、继承的简单分析
- c++多态的案例分析
- C++中多态本质 实例分析
- ffmpeg代码分析之2——模拟C++多态之C实现篇章
- C++之多态的原理及其分析
- C/C++笔记--多态及虚表分析
- C++ 类的多态五(多态的语法本质分析)
- C++|多态分析
- C++之多态的原理及其分析
- C++ 多态中虚函数实现原理分析
- C++深度解析 C++对象模型分析(下) --- 继承对象模型,多态对象模型,虚函数表,用C语言实现多态(50)
- 从C++对象内存布局和构造过程来具体分析C++中的封装、继承、多态
- C++里的继承和多态(中)――分析单继承、多继承、菱形继承(不含虚函数)
- 从一道面试题分析c++的多态特性
- C++多态 虚表 分析 图解
- C++多态、继承的简单分析
- C++多态 虚(纯虚)函数 绑定详解及实例分析
- C++多态问题分析
- C++多态汇编分析