准备笔记 -- 虚函数
来源:互联网 发布:it男装 编辑:程序博客网 时间:2024/05/17 20:28
什么是? 有virtual关键字的成员函数就是虚函数
为什么? 实现多态,通过指向基类的指针或引用可以访问子类中同名覆盖成员函数
如果没有定义为虚函数呢? 基类指针即使指向了子类对象(已重写该函数),调用函数仍为基类函数
所有的函数都可以定义成虚函数么?非类的成员函数(如 友元函数),类的静态成员函数、构造函数,不可以
什么时候必须定位虚函数呢?你需要多态时,注意,有动态分配内存的时候,析构函数必须是虚函数。
子类覆盖函数没有virtual关键字还是虚函数么? 是
纯虚函数是什么? 相当于一个接口定义,没有具体实现,函数原型后加“=0”
子类可以不覆盖虚函数吗? 可以
子类可以不覆盖纯虚函数吗?不可以
含有纯虚函数的类可以实例化吗?不可以,只要有一个,该类就不能实例化,即为抽象类
虚函数的实现问题 - 虚函数表
C++的编译器应该是保证虚函数表的指针存在于对象实例中最前面的位置
具体的,如果只有一个基类,基类的虚函数在子类的虚函数前面,如果有多个基类
每一个都有自己的虚函数列表,子类的新定义虚函数在第一个基类虚表中
如果基类的虚函数已被子类覆盖,则基类的虚函数位置存储子类的覆盖函数地址
阅读全文
0 0
- 准备笔记 -- 虚函数
- Lucene学习笔记(准备)
- #面试准备#算法笔记
- python --- 函数学习的准备
- Java学习笔记-准备阶段
- JAVA 考试准备笔记 1
- JAVA 考试准备笔记 2
- JAVA 考试准备笔记 3
- JAVA 考试准备笔记 4
- JAVA 考试准备笔记 5
- JAVA 考试准备笔记 6
- JAVA 考试准备笔记 7
- 准备写些clucene笔记
- ant笔记-3.环境准备
- CC1310笔记1:开发准备
- Java学习笔记一:准备
- 计算机三级考试准备笔记
- OKHttp3学习笔记-环境准备
- LR_protocol script_windows sockets
- 工具类:Time
- 用pdfbox或icepdf转换PDF为图片时,中文乱码问题
- QT 之 编译错误(三)
- Mybatis之foreach批量insert,返回主键id列表(修复Mybatis返回null的bug)
- 准备笔记 -- 虚函数
- JAVA 并发编程随笔【七】线程安全与共享资源
- hdu1002 大整数加法
- 数码管最后一位较亮解决办法
- 一个初学者对于MVC架构的理解
- RGB模式转换为LAB模式
- 关于UML类图的学习
- Maven : 将Jar安装到本地仓库和Jar上传到私服
- hive 2.1.1配置错误解决办法