多重继承MI

来源:互联网 发布:阿里云rds 编辑:程序博客网 时间:2024/04/30 15:55

 

多重继承MI
多重继承(MI)就是继承多个基类来创建一个新类。多重继承会引起二义性和一些奇怪的问题,要像在C中避免少使用goto语句一样在C++中尽量避免使用MI
1.      概述
是否有必要用多重继承是一个有争议性的问题。
使用多重继承的理由:
1) 可以从现有的多个不同的基类中继承它们的特征和行为;
2) 设计的需要。可以设计出更灵活实用的程序。
2.      接口继承
 
3.      实现继承
 
4.      重复子对象
 
5.      虚基类
子对象初始化顺序:
1)      所有虚基类子对象,按它们在类定义中从上到下、从左到右的顺序初始化;
2)      非虚基类按通常顺序初始化;
3)      所有的成员对象按声明顺序初始化;
4)      完整的对象的构造函数执行
6.      名字查找问题
如果基类和派生类有同名的成员函数,那么在调用这个成员函数时,若没有指定作类作用域运算符就默认优先查找到派生类的那个成员函数(也就是取最近的)。
7.      避免使用多重继承
回答以下两个问题判断是否需要使用继承:
1)      是否需要通过一个新类来显示两个类的公共接口?
2)      需要向上转换成两个基类类型吗?
如果任何一个问题回答不是,那么就可以而且应该避免使用多重继承。
推荐使用组合而不使用继承。
 
8.      扩充一个接口
哪里需要使用MI?:当必须能够将派生类向上转换为两个以上的基类类型。
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 女人的排卵期怎么算 排卵期排出褐色分泌物 女生排卵期有什么反应 排卵期出血的症状和图片 排卵期症状有哪些症状 排卵期是不是容易怀孕 一个月排卵期有几天 排卵期肚子痛怎么回事 排卵期体温会升高吗 排卵期测体温怎么测 排卵期肚子疼是在排卵吗 排卵期腰痛是怎么回事 排卵期没有射会怀孕吗 女人排卵期计算方法 排卵期有什么症状白带 排卵期是什么时候有什么反应 女孩排卵期是什么时候 排卵期不带套子外射会怀孕吗 排卵期怎么算计算器 女的排卵期是什么时候 女生排卵期有什么特征 排卵期一定会怀孕吗 排卵期小肚子疼是怎么回事 排卵期身体有什么症状 女人的排卵期怎么算才准确 女性排卵期有什么症状 什么是排卵期怎么计算 排卵期第几天容易怀孕 排卵期是什么时候到什么时候 排卵期有什么症状或感觉 排卵期体重会增加吗 排卵期受完孕有什么感觉 排卵期出血可以运动吗 排卵期为什么没怀上 排卵期出血一般几天 排卵期几次可以怀孕 排卵期出血什么症状 排卵期出血什么原因 排卵期一般什么时候 排卵期胸疼怎么回事 排卵期出血检查什么