virtual-关键字用于修饰成员函数时,有以下特性

1.用于修饰的基类的成员函数,被修饰的基类成员函数-其派生类的同名成员函数也默认带有virtual 关键字
2.当virtual 用于修饰析构函数(被称为虚析构函数)时,父对象析构时同时会将子对象析构
3.当virtual 用于修饰成员函数(被称为虚函数)
虚函数有以下限制
① 类多态实现(使用同一对象(不同参数),同一方法->不同结果)
② 构造函数不能 加 virtual
③ 普通函数不能 加 virtual
④ 类中static 修饰的函数不能 加 virtual

virtual-关键字用于修饰继承类(又称为虚基类)
当遇到"菱形继承"(多继承的两个或以上父级 继承同一个祖级时)

继承方式如图:

      A
/ \
B C
\ /
D

这样在构造最终派生类时,会出现最终派生类中含有多个同一个基类的情况,就会产生二义性的问题(不知道该调用哪个基类的成员变量和函数),为解决此问题,需要使用虚基类,即只对此基类生成一块内存区域,这样最终派生类中就只会含有一个基类了

最新文章

  1. MySQL动态游标
  2. 如何优雅地使用 Sublime Text
  3. android之SharedPreferes
  4. Great StackOverflow questions
  5. 黄聪:jquery mobile通过a标签页面跳转后,样式丢失、js失效的解决方法
  6. Linux安装JBOSS
  7. index of rmvb mp3 rm突破站点入口下载
  8. axis2调用webservice
  9. codevs 1519 过路费 最小生成树+倍增
  10. image即时上传
  11. js的for in循环和java里的foreach循环的差别
  12. 狙杀ES6之开光篇
  13. 242. Valid Anagram(leetcode)
  14. 【vue】使用vue+element搭建项目,Tree树形控件使用
  15. python中的turtle库(图形绘画库)
  16. InternalResourceViewResolver视图解析器(转)
  17. spring + mybatis配置及网络异常设置
  18. 首发:极简的Centos主机监控方法,分分钟即可使用【转】
  19. Java设计模式(15)备忘录模式(Memento模式)
  20. (一)Mahapps安装与使用

热门文章

  1. Haproxy + Rabbit 集群 简要介绍
  2. DNS服务器的解析
  3. jQuery之属性
  4. 【Leetcode】445. Add Two Numbers II
  5. Geek荣耀大会总结
  6. Django之ORM其他骚操作
  7. web_config配置
  8. mysql 8 server windows 安装经验分享
  9. FZU2125_简单的等式
  10. uoj54-bzoj3434-时空穿梭