c++ virtual总结
2024-10-19 17:30:34
virtual-关键字用于修饰成员函数时,有以下特性
1.用于修饰的基类的成员函数,被修饰的基类成员函数-其派生类的同名成员函数也默认带有virtual 关键字
2.当virtual 用于修饰析构函数(被称为虚析构函数)时,父对象析构时同时会将子对象析构
3.当virtual 用于修饰成员函数(被称为虚函数)
虚函数有以下限制
① 类多态实现(使用同一对象(不同参数),同一方法->不同结果)
② 构造函数不能 加 virtual
③ 普通函数不能 加 virtual
④ 类中static 修饰的函数不能 加 virtual
virtual-关键字用于修饰继承类(又称为虚基类)
当遇到"菱形继承"(多继承的两个或以上父级 继承同一个祖级时)
继承方式如图:
A
/ \
B C
\ /
D
这样在构造最终派生类时,会出现最终派生类中含有多个同一个基类的情况,就会产生二义性的问题(不知道该调用哪个基类的成员变量和函数),为解决此问题,需要使用虚基类,即只对此基类生成一块内存区域,这样最终派生类中就只会含有一个基类了
最新文章
- MySQL动态游标
- 如何优雅地使用 Sublime Text
- android之SharedPreferes
- Great StackOverflow questions
- 黄聪:jquery mobile通过a标签页面跳转后,样式丢失、js失效的解决方法
- Linux安装JBOSS
- index of rmvb mp3 rm突破站点入口下载
- axis2调用webservice
- codevs 1519 过路费 最小生成树+倍增
- image即时上传
- js的for in循环和java里的foreach循环的差别
- 狙杀ES6之开光篇
- 242. Valid Anagram(leetcode)
- 【vue】使用vue+element搭建项目,Tree树形控件使用
- python中的turtle库(图形绘画库)
- InternalResourceViewResolver视图解析器(转)
- spring + mybatis配置及网络异常设置
- 首发:极简的Centos主机监控方法,分分钟即可使用【转】
- Java设计模式(15)备忘录模式(Memento模式)
- (一)Mahapps安装与使用