虚继承相关问题--笔试面试系列
来源:互联网 发布:超级玛丽for mac 编辑:程序博客网 时间:2024/06/09 14:31
1,
虚继承是多重继承的特有概念,为解决多继承而出现的。
如果B继承自A,C继承自A,且D同时继承自B和C,就会在类D中同时出现两次A。为了节省内存空间,可以将B、C对A的继承定义为虚继承。而A就成了虚拟基类。
代码如下:
class A;
class B: public virtual A;
class C: public virtual A;
class D: public virtual C;
例如:圆角矩形多重继承了圆形和矩形,而这两个都继承自形状类。那么当创建一个圆角矩形时会有两种情况,根据代码不同。
一是,圆形类和矩形类都没有使用关键字virtual继承自形状类,则生成两个形状类。
二是,如果两个类都使用关键字继承自形状类,则生成一个共享形状类。
注:虚函数继承与虚继承不同。
虚拟继承是多重继承中特有的概念,是为解决多重继承的。用虚继承可以节省内存空间虚函数是面向对象多态性的主要方式,通过继承基类中的虚函数在子类中重载实现不同操做。继承的虚函数在子类中不需要加virtual,默认就是虚函数。可以被它的子类覆盖。
问题:声明一个类Jet,它是从Ro和Ai继承来的。
答:class Jet: public Ro, Public Ai继承而来的。
- 虚继承相关问题--笔试面试系列
- 【笔试面试】数组相关问题
- 面试笔试系列之三 字符串相关
- 【面试&笔试】ASP.NET的相关问题
- 二叉树相关笔试面试问题集锦
- 关于面试笔试的相关问题通知
- 面试笔试系列之二 链表相关
- 笔试和面试相关
- 面试与笔试相关
- 【面试笔试】数据库相关
- 【java笔试系列六】HashMap常见面试问题总结
- C++虚继承相关问题
- 笔试面试相关习题总汇
- 【笔试面试】字符串相关操作
- HTTP 笔试面试相关知识点
- 【面试笔试】软件测试相关
- 面试笔试相关收集整理
- [笔试面试]赛马问题
- Chapter2--Linked_Lists
- 小孩子-笑话
- Linux扩展权限
- 将一句话里的单词倒置,标点符号不倒换。
- 一天一天学 windows phone 引言 + 大概认知 之 参数传递(四)
- 虚继承相关问题--笔试面试系列
- 如何学习一门新的编程语言?——在学习区刻意练习
- poj 1830 开关问题(guass)
- launcher5
- Android瀑布流照片墙实现,体验不规则排列的美感
- poj刷题顺序
- libpcap中<pcap.h>的平台无关性之条件编译
- 基于JAX的WebService实现demo(一)
- java ssl https 连接详解 生成证书