- 24
- 0
- 约 5页
- 2016-11-07 发布于重庆
- 举报
1116C虚基类详解
我们知道,如果一个派生类有多个直接基类,而这些直接基类又有一个共同的基类,则在最终的派生类中会保留该间接共同基类数据成员的多份同名成员。在引用这些同名的成员时,必须在派生类对象名后增加直接基类名,以避免产生二义性,使其惟一地标识一个成员,如:
图 11.21
现在,将类A声明为虚基类,方法如下:
class?A?//声明基类A
{
// 代码
};
class?B:?virtual?public?A?//声明类B是类A的公用派生类,A是B的虚基类
{
// 代码
};
class?C:?virtual?public?A?//声明类C是类A的公用派生类,A是C的虚基类
{
// 代码
};
注意: 虚基类并不是在声明基类时声明的,而是在声明派生类时,指定继承方式时声明的。因为一个基类可以在生成一个派生类时作为虚基类,而在生成另一个派生类时不作为虚基类。声明虚基类的一般形式为:? ?class 派生类名: virtual 继承方式 ?基类名即在声明派生类时,将关键字 virtual 加到相应的继承方式前面,经过这样的声明后,当基类通过多条派生路径被一个派生类继承时,该派生类只继承该基类一次,也就是说,基类成员只保留一次。需要注意:为了保证虚基类在派生类中只继承一次,应当在该基类的所有直接派生类中声明为虚基类。否则仍然会出现对基类的多次继承。如果在派生类B和C中将类A
您可能关注的文档
- 09保险财产保险试卷1.doc
- 09-10四自由度码垛机器人控制系统设计.doc
- 09热能与动力工程专业(火电厂集控运行方向).doc
- 09秋模拟试卷及答案.doc
- 09竞聘公共卫生试题.docx
- 09一系核医学,红色为老师讲的重点.doc
- 09级影像影像诊断学II复习题b.doc
- 08年郑州物理第二次质量检测.doc
- 095SRS-ECU支架动刚度分析与优化设计.doc
- 0导论当代西方文艺理论概观.doc
- 宣贯培训(2026年)《JBT 11973-2014拖拉机用工作灯》.pptx
- 宣贯培训(2026年)《JBT 12271-2015在线激光修复 轧机机架 技术规范》.pptx
- 宣贯培训(2026年)《DLT 768.2-2017电力金具制造质量 第2部分:黑色金属锻制件》.pptx
- 宣贯培训(2026年)《DLT 1835-2018燃气轮机及联合循环机组启动调试导则》.pptx
- 宣贯培训(2026年)《FZT 54094-2017聚对苯二甲酸丙二醇酯聚对苯二甲酸乙二醇酯(PTTPET)复合牵伸丝》.pptx
- 宣贯培训(2026年)《JBT 12425-2015电气用低磨耗不饱和聚酯模塑料》.pptx
- 宣贯培训(2026年)《JBT 12807-2016矿用筒式磨机主轴承润滑系统》.pptx
- 宣贯培训(2026年)《HGT 3501-2011化学试剂 气相色谱用载体有效塔板》.pptx
- 宣贯培训(2026年)《HJT 64.2-2001大气固定污染源 镉的测定 石墨炉原子吸收分光光度法》.pptx
- 宣贯培训(2026年)《GBT 8013.5-2021铝及铝合金阳极氧化膜与有机聚合物膜 第5部分:功能膜》.pptx
原创力文档

文档评论(0)